Κοινή χρήση τεχνολογίας

Αυτοματισμός (δεύτερο επίπεδο)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Στοίβα τεχνολογίας που χρησιμοποιείται για την αυτοματοποίηση διεπαφής Java

Σύνοψη στοίβας τεχνολογίας:
① Βασικά στοιχεία Java (ενθυλάκωση, αναστοχασμός, γενικά, jdbc)
②Ανάλυση αρχείου διαμόρφωσης (ιδιότητες)
③httpclient (αποστολή αιτήματος http)
④ Τα δεδομένα Fastjson και jsonpath επεξεργάζονται
⑤Βασικά σημεία του αυτοματοποιημένου πλαισίου δοκιμών
⑥ έκθεση δοκιμής γοητείας

Η πρώτη κατηγορία: http που σχετίζεται με το αίτημα (fastjson, jsonpath, httpclient)

Προετοιμάζω

Δημιουργία έργου maven

①Δημιουργήστε πρώτα το έργο maven, newPROJECT–Maven—groupid----finish

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

②Ελέγξτε ξανά τη διαμόρφωση του maven

Αρχείο—ρυθμίσεις—maven
Εισαγάγετε την περιγραφή της εικόνας εδώ

Το Fastjson και το jsonpath χρησιμοποιούνται και τα δύο για την επεξεργασία δεδομένων.
Το επίκεντρο της δοκιμής πλαισίου αυτοματισμού.
έκθεση δοκιμής γοητείας

1. fastjson (σενάριο εφαρμογής: ανάλυση συμβολοσειρών json και συστοιχιών συμβολοσειρών παραμέτρων εισόδου)

Το fastjson επεξεργάζεται συμβολοσειρές json και πίνακες json
Αναλύστε τις παραμέτρους εισαγωγής συμβολοσειράς json και προετοιμαστείτε για επόμενα αιτήματα

① Εξάρτηση

<!-https://mvnrepository.com/artifact/com.alibaba/fastjson -->
com.alibaba
fastison
1.2.75

②Προσθήκη εξαρτήσεων και οι εξαρτήσεις θα δημιουργηθούν αυτόματα

Εισαγάγετε την περιγραφή της εικόνας εδώ
Μετά τη λήψη, μπορείτε να δείτε τα πακέτα εξαρτήσεων που δημιουργούνται αυτόματα.

1.1 Παράδειγμα (ανάλυση παραμέτρων εισαγωγής συμβολοσειράς json, παραμέτρων εισαγωγής συμβολοσειράς json)

1.1.1 Ανάλυση παραμέτρων εισόδου συμβολοσειράς json

Για παράδειγμα, η σύνδεση απαιτεί όνομα χρήστη και κωδικό πρόσβασης.
{“όνομα χρήστη”:“qzcsbj”, “password”:“123456”}

Πηγή δεδομένων πλαισίου αυτοματισμού, οι παράμετροι εισόδου είναι όλες συμβολοσειρές json, το fastjson πρέπει να χρησιμοποιηθεί

Βήμα 1: Δημιουργήστε όνομα πακέτου, όνομα κλάσης και δημιουργία κύριας μεθόδου

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 2: Ορίστε μια μεταβλητή συμβολοσειράς, εδώ είναι η συμβολοσειρά json που πρέπει να αναλυθεί
Βήμα 3: Για την επεξεργασία της συμβολοσειράς json, πρώτα αναλύστε την σε ένα αντικείμενο jsonObject και στη συνέχεια τοποθετήστε την στον χάρτη
1)Πρώτα δημιουργήστε ένα HashMap, το κλειδί και η τιμή είναι και τα δύο String

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

2) Αναλύστε τη συμβολοσειρά JSONObjetct.parseObject χρησιμοποιείται εδώ και η τιμή που επιστρέφεται είναι τύπου JSONObject.

Class.Method, αυτή η μέθοδος είναι στατική

3) Για να λάβετε κλειδιά, χρησιμοποιήστε απευθείας τη μέθοδο jsonObjetc.keySet, δηλαδή λάβετε τη συλλογή Set

Κάθε κλειδί στη συλλογή είναι String

4) Διασχίστε ξανά, λάβετε την τιμή μέσω του κλειδιού που διασχίστηκε και, στη συνέχεια, βάλτε το κλειδί και την τιμή στον χάρτη

Εισαγάγετε την περιγραφή της εικόνας εδώ

Η συμβολοσειρά json που ορίζεται τώρα έχει αναλυθεί και τοποθετηθεί στον Χάρτη
Εισαγάγετε την περιγραφή της εικόνας εδώ

5) Επαληθεύστε το περιεχόμενο που έχει τοποθετηθεί στον Χάρτη και αποκτήστε το κλειδί στον Χάρτη

Οδηγίες για να τοποθετήσετε τα περιεχόμενα της συμβολοσειράς json στον χάρτη
blog.csdnimg.cn/direct/ae6feeba2eae442f961df977a6c8eac1.jpeg)

1.1.2. Ανάλυση παραμέτρων εισόδου συστοιχίας συμβολοσειρών json

Το πλαίσιο αυτοματισμού περιλαμβάνει ένα πλαίσιο αρχικοποίησης και ορισμένα απαιτούν λειτουργίες στα δεδομένα που υπάρχουν στο εσωτερικό του.Για να λειτουργήσετε τη βάση δεδομένων, πρέπει να γράψετε sql
Εδώ υπάρχει ένας πίνακας json. Στον πίνακα, κάθε στοιχείο είναι μια συμβολοσειρά json, η οποία περιέχει δεδομένα βασικής τιμής.

[{"sqlNo":"1","sq!":"επιλέξτε * από χρήστες όπου όνομα χρήστη='qzcsbj';"},."sqlNo":"2","sql": "επιλέξτε * από χρήστες όπου όνομα χρήστη ='test00501';"}]

Βήμα 1: Δημιουργήστε όνομα πακέτου, όνομα κλάσης και δημιουργία κύριας μεθόδου
Βήμα 2: Ορίστε μια μεταβλητή συμβολοσειράς, εδώ είναι ο πίνακας συμβολοσειρών json που πρέπει να αναλυθεί
Μέθοδος 1 (δεν συνιστάται): Αναλύστε τη συμβολοσειρά JSONObjetct.parseArray(Κείμενο συμβολοσειράς), η τιμή που επιστρέφεται είναι JSONArray
1) Αναλύστε τη συμβολοσειρά, το JSONObjetct.parseArray χρησιμοποιείται εδώ

Εισαγάγετε την περιγραφή της εικόνας εδώ

2) Άμεση διέλευση, κάθε στοιχείο είναι τύπου Object και εκτυπώνονται επίσης δύο χαρακτήρες json.

Εισαγάγετε την περιγραφή της εικόνας εδώ

3) Εκτυπώστε την τιμή sql στη συμβολοσειρά json Δεν υπάρχουν μέθοδοι λήψης ή ρύθμισης εδώ. Μπορείτε να λάβετε μόνο τη συμβολοσειρά json, αλλά όχι το περιεχόμενο ενός συγκεκριμένου κλειδιού.

Εισαγάγετε την περιγραφή της εικόνας εδώ
Αυτή η μέθοδος δεν ενδείκνυται

Μέθοδος 2: JSONObjetct.parseArray(κείμενο συμβολοσειράς, κλάση clazz), η επιστρεφόμενη τιμή είναι List &lt; T &gt;, ο τύπος επιστροφής είναι List και το στοιχείο επιστροφής είναι HashMap

Περάστε δύο παραμέτρους, η πρώτη παράμετρος είναι η συμβολοσειρά που πρόκειται να αναλυθεί και η δεύτερη παράμετρος είναι το αρχείο bytecode.
Η λύση είναι: αναλύστε την πρώτη παράμετρο String σε χάρτη

1) Ενθυλάκωση κάθε στοιχείου σε ένα αντικείμενο hashmap. Το JSONObjetct.parseArray (κείμενο συμβολοσειράς, Class clazz) χρησιμοποιείται εδώ για την ανάλυση του πίνακα συμβολοσειρών.
2) Λήψη sqlΌχι, το sql είναι τύπος HashMap, μπορείτε να χρησιμοποιήσετε τη μέθοδο λήψης

Εισαγάγετε την περιγραφή της εικόνας εδώ

3) Δεν υπάρχει καμία τιμή κλειδιού ή τύπος.
4) Δηλαδή, προκύπτει η τιμή που αντιστοιχεί σε κάθε κλειδί στη συμβολοσειρά json στο sql.

Εισαγάγετε την περιγραφή της εικόνας εδώ

5) Αυτή η μέθοδος είναι ανεπαρκής: τα κλειδιά στη συμβολοσειρά json πρέπει να εμφανίζονται εδώ, εάν είναι πολλά, θα είναι ενοχλητικό.
 String sqlNo = (String)sql.get("sqlNo");
  • 1
Μέθοδος 3: Χρησιμοποιείται για την επίλυση του ελλείμματος ⑤ στη Μέθοδο 2, γενικά χρησιμοποιώντας ενθυλάκωση

Ενσωματώστε το περιεχόμενο σε κάθε συμβολοσειρά json σε ένα αντικείμενο l, προσθέστε μεθόδους get και set στην κλάση οντοτήτων, απευθείας object.get και αποκτήστε το περιεχόμενο του sql. Ο αυτοματισμός αναφέρεται επίσης σε αυτήν την ενθυλάκωση. Δηλαδή να ενσωματώσουμε την sql σε ένα αντικείμενο,
Ενθυλακώστε τις ιδιότητες ως ιδιωτικές (sqlNo, sql), παρέχετε μεθόδους λήψης και ρύθμισης, πρέπει να προστεθούν μέθοδοι παραμετροποιημένης κατασκευής και μέθοδοι κατασκευής χωρίς παραμέτρους και η αντανάκλαση θα προσαρμόσει τις μεθόδους κατασκευής χωρίς παραμέτρους. Εάν γράψετε μόνο τον κατασκευαστή χωρίς παραμέτρους χωρίς να γράψετε τον κατασκευαστή χωρίς παραμέτρους, θα αναφερθεί σίγουρα ένα σφάλμα Για να εκτυπώσετε το αποτέλεσμα συμβολοσειράς, πρέπει να προσθέσετε τη μέθοδο toString(), διαφορετικά θα εκτυπωθεί η διεύθυνση του αντικειμένου. Η παραπάνω κατηγορία οντοτήτων έχει γραφτεί.

Βελτιστοποιήστε το ξανά
Εάν το στοιχείο είναι ενσωματωμένο σε ένα αντικείμενο, αλλάζει σε μια κλάση που γράφτηκε από τον εαυτό σας.class
Δηλαδή sql.class

1) Ορίστε ένα sql javabean: η κλάση sql έχει χαρακτηριστικά sqlNo, sql και στη συνέχεια προσθέστε get, set μεθόδους, μεθόδους κατασκευής και μεθόδους toString()

Εισαγάγετε την περιγραφή της εικόνας εδώΕισαγάγετε την περιγραφή της εικόνας εδώ

2) Ενσωματώστε κάθε συμβολοσειρά json σε ένα αντικείμενο sql (Test02), JSONObjetct.parseArray (κείμενο συμβολοσειράς, Class clazz), η επιστρεφόμενη τιμή είναι List &lt; T &gt;, ο τύπος επιστροφής είναι List και το στοιχείο επιστροφής είναι ένα αντικείμενο sql

Η δεύτερη μέθοδος παραπάνω είναι να ενθυλακώσετε κάθε στοιχείο σε ένα αντικείμενο hashMap και εδώ είναι να ενθυλακώσετε κάθε στοιχείο σε ένα αντικείμενο sql.
Εισαγάγετε την περιγραφή της εικόνας εδώ

3) Τραβέρσα

Λάβετε χαρακτηριστικά από το αντικείμενο απευθείας χρησιμοποιώντας τη μέθοδο get

Εισαγάγετε την περιγραφή της εικόνας εδώ
Αυτή η μέθοδος είναι πιο βολική και δεν χρειάζεται να αποκτήσετε πολλά κλειδιά.

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>mavenProject</groupId>
    <artifactId>mavenProject</artifactId>
    <version>1.0-SNAPSHOT</version>


    <dependencies>


        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>

    </dependencies>

</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

κλάση sql

package com.zhou.demo;

public class Sql {
    private String sql;
    private String sqlNo;

    public Sql() {
    }

    public Sql(String sql) {
        this.sql = sql;
    }


    public Sql(String sql, String sqlNo) {
        this.sql = sql;
        this.sqlNo = sqlNo;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public void setSqlNo(String sqlNo) {
        this.sqlNo = sqlNo;
    }

    public String getSql() {
        return sql;
    }

    public String getSqlNo() {
        return sqlNo;
    }

    @Override
    public String toString() {
        return "sql{" +
                "sql='" + sql + ''' +
                ", sqlNo='" + sqlNo + ''' +
                '}';
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
package com.zhou.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Set;
//需求:将json字符串转化成map,字符串:{"username":"qzcsbj", "password":"123456"}

public class Test {
    public static void main(String[] args) {
        String parameters="{"username":"qzcsbj", "password":"123456"}";
        //先解析为JSONObject,然后转换为map
        HashMap<String, String> map = new HashMap<String, String>();

        // 解析json格式字符串为JSONObject(JSONObject是Map接口的一个实现类,和HashMap平级)

        JSONObject jsonObject = JSONObject.parseObject(parameters);
        // 将JSO\\\ NObject转换为map,先获取keys,先将keyset获取,集合里的每一个key都是String,通过遍历的key获取value,再放到map中
        Set<String> keys= jsonObject.keySet();
        for (String key:keys) {
            map.put(key,jsonObject.getString(key));

        }

        //验证,获取Map中的key
        Set<String> keys2 = map.keySet();
        for (String key :keys2) {
            System.out.println(key+"="+map.get(key));
        }

    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
package com.zhou.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.List;


//JSON数组,每个元素是json字符串
public class Test02 {

    public static void main(String[] args) {
        String initsql="[n" + "{"sqlNo":"1","sql":"select * from  users where  username='qzcsbj';"},n" +
                "{"sqlNo":"2","sql":"select * from  users where  username='tester00501';"}n" + "n" + "]";
  /*   //元素解析为Map
        List<HashMap> sqls = JSONObject.parseArray(initsql,HashMap.class);
        for (HashMap sql:sqls) {
            System.out.println(sql);
            String sqlNo = (String)sql.get("sqlNo");
            String sql_ = (String)sql.get("sql");
            System.out.println("sqlNo-"+sqlNo+",sql_-"+sql_);
        }*/



  //元素封装到对象
        List<Sql> sqls = JSONObject.parseArray(initsql, Sql.class);

        for (Sql sql:sqls) {
            String sqlNo = sql.getSqlNo();
            String sql_ = sql.getSql();
            System.out.println("sqlNo-"+",sql_"+sql_);

        }

    }


    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

2. jsonpath (σενάριο εφαρμογής: ανάλυση των δεδομένων απόκρισης json, όπως λήψη πεδίων ισχυρισμών, όπως η αντίστοιχη τιμή που θα ληφθεί)

Επειδή αυτή τη στιγμή, το έργο διαχωρίζεται από το μπροστινό και το πίσω άκρο.
Το backend επιστρέφει γενικά συμβολοσειρές json
Εάν θέλετε να κάνετε ισχυρισμούς, συνήθως αναλύετε το json Μετά την ανάλυση, συνήθως κάνετε ισχυρισμούς μόνο σε βασικά πεδία.
Οι ισχυρισμοί είναι γενικά επιχειρηματικά πεδία κωδικού + κλειδιού
Είναι μια συμβολοσειρά json, επομένως πρέπει να χρησιμοποιήσετε jsonpath

① Εξάρτηση

②Προσθήκη εξαρτήσεων και οι εξαρτήσεις θα δημιουργηθούν αυτόματα

blog.csdnimg.cn/5bdd9defd7db47b7a5934f79f9fd0ceb.png)
Εισαγάγετε την περιγραφή της εικόνας εδώ
Πρέπει να επιβεβαιωθεί εάν έχουν γίνει λήψη των εξαρτήσεων

2.1 Παράδειγμα (αποκτήστε τα βασικά επιχειρηματικά πεδία που θα επιβεβαιωθούν στα δεδομένα απόκρισης)

2.1.1 Αποκτήστε τα βασικά επιχειρηματικά πεδία που θα επιβεβαιωθούν στα δεδομένα απόκρισης
Βήμα 1: Δημιουργήστε ένα όνομα κλάσης, δημιουργήστε μια κύρια μέθοδο και ορίστε μια μεταβλητή συμβολοσειράς

Αυτή η μεταβλητή εδώ είναι το πεδίο απόκρισης που επιστρέφεται μετά την επιτυχή σύνδεση.
blog.csdnimg.cn/a20e89ee243c43f69a1b4e1c3a97b89b.png)

Βήμα 2: Για να κάνετε ισχυρισμούς, πρέπει να αποκτήσετε το περιεχόμενο μέσα στο Configuration.defaultConfiguration.jsonProvider().parse() και η επιστρεφόμενη τιμή είναι Τύπος αντικειμένου.

Εισαγάγετε την περιγραφή της εικόνας εδώ
Περάστε στην καθορισμένη απόκριση πεδίου

Βήμα 3: Χρησιμοποιήστε τη μέθοδο JsonPath.read(Object json, String jsonpath, predicate...filters), ο τύπος επιστροφής είναι Τύπος αντικειμένου

Εισαγάγετε την περιγραφή της εικόνας εδώ

Αυτοματοποίηση διεπαφής για επεξεργασία εξαρτώμενων δεδομένων
Πάρτε το διακριτικό από το μπροστινό μέρος αυτής της γραμμής, το οποίο είναι επίσης $.
Μετά την απόκτησή της, εάν πρόκειται για καθολική μεταβλητή, μπορεί να αποθηκευτεί στην καθολική μεταβλητή.
Αν θέλεις να πάρεις τον ισχυρισμό και μετά να τον πάρεις
Κάνε έναν άλλο ισχυρισμό

3. httpclient (αποστολή αιτημάτων γράφοντας κώδικα)

Στο πλαίσιο αυτοματισμού, τα αιτήματα αποστέλλονται γράφοντας κώδικα, πράγμα που σημαίνει ότι πρέπει να χρησιμοποιήσετε το httpclient, μια βιβλιοθήκη που παρέχεται από την Java για αλληλεπίδραση με τον διακομιστή.

① Εξάρτηση

②Προσθήκη εξαρτήσεων και οι εξαρτήσεις θα δημιουργηθούν αυτόματα

Εισαγάγετε την περιγραφή της εικόνας εδώ

3.1 Παράδειγμα (λήψη αίτησης, δημοσίευση αιτήματος)

3.1.1 λήψη αιτήματος
Εργασίες προετοιμασίας: Επαληθεύστε εάν η διεπαφή αιτήματος του εγγράφου διεπαφής swagger έχει περάσει.

Πρέπει να περάσετε το αναγνωριστικό
Εισαγάγετε την περιγραφή της εικόνας εδώ
Από τη βιβλιοθήκη, μπορούμε να δούμε ότι το αναγνωριστικό είναι 259
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 1: Δημιουργήστε ένα όνομα κλάσης Test04 και δημιουργήστε μια κύρια μέθοδο
Βήμα 2: Καθορίστε τη διεύθυνση url της μεταβλητής διεύθυνσης της διεπαφής και ζητήστε τις παραμέτρους παραμέτρων

Εισαγάγετε την περιγραφή της εικόνας εδώ
Στο αρχείο δεδομένων, όλες οι παράμετροι συνενώνονται σε συμβολοσειρές json, επομένως το id=259 συνδέεται επίσης σε συμβολοσειρές json.

Εδώ, βάλτε το 259 σε διπλά εισαγωγικά για να ξεφύγετε αυτόματα.
Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 3: Αναλύστε τη συμβολοσειρά json, χρησιμοποιήστε τη μέθοδο JSONObject.parseObject(), ο τύπος επιστροφής είναι τύπος JSONObject

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 4: Ορίστε μια στατική μέθοδο getRequest(url συμβολοσειράς, JSONObject jsonobject)

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 5: Στη συνέχεια καλέστε getRquest() στην κύρια μέθοδο Η τιμή που επιστρέφει είναι τύπου String.

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα έκτο: Βελτιώστε τη λογική της μεθόδου getRequest().

λάβετε αίτημα: http://47.108.153.47:18089/qzcsbj/user/findById?id=259
?Συνδέστε απευθείας τις παραμέτρους αργότερα
Υπάρχουν επίσης πολλές τιμές που πρέπει να λάβετε υπόψη: http://47.108.153.47:18089/qzcsbj/user/findById?id=259&name=jack

1) Αποκτήστε το κλειδί μέσω του jsonobetct.keySet() και αποκτήστε μια συλλογή Set

Εισαγάγετε την περιγραφή της εικόνας εδώ

2) Διασχίστε τη συλλογή Set και λάβετε την τιμή κλειδιού

Εισαγάγετε την περιγραφή της εικόνας εδώ

3) Πρέπει επίσης να εξετάσετε την περίπτωση πολλαπλών τιμών, δηλαδή να ορίσετε flag = true, να γράψετε πρώτα true και να είστε ο πρώτος

Εισαγάγετε την περιγραφή της εικόνας εδώ

4) Διαφορετικά, γράψτε τα παρακάτω

Εισαγάγετε την περιγραφή της εικόνας εδώ

5) Ορίστε μια κενή συμβολοσειρά res και επιστρέψτε res

Εισαγάγετε την περιγραφή της εικόνας εδώ
Τα παραπάνω θα συνδυάσουν τη διεύθυνση url της παραμέτρου και τις παραμέτρους για την αποστολή του αιτήματος λήψης Μετά τη δημιουργία, πρέπει να δημιουργήσετε ένα αντικείμενο αίτησης λήψης.

6) Δημιουργία αντικειμένου αιτήματος httpget, νέο HttpGet (org.apache.http.client.methods) επιλέξτε αυτόν τον κατασκευαστή

Περάστε το url
Εδώ λαμβάνετε το αντικείμενο αιτήματος httpget
Εισαγάγετε την περιγραφή της εικόνας εδώ

7) Δημιουργήστε το πρόγραμμα-πελάτη httpclient, χρησιμοποιώντας τη μέθοδο HttpClients.createDefault(), ο τύπος επιστροφής είναι CloseableHttpClient

Εισαγάγετε την περιγραφή της εικόνας εδώ

Η αφηρημένη κλάση CloseableHttpClient υλοποιεί τη διεπαφή HttpClient, Closeable
Εισαγάγετε την περιγραφή της εικόνας εδώ
Ο πολυμορφισμός μπορεί να χρησιμοποιηθεί και το αντικείμενο υποκλάσης οδηγεί στην αναφορά γονικής κλάσης (η διεπαφή που υλοποιείται από τη γονική κλάση)
Εισαγάγετε την περιγραφή της εικόνας εδώ

8) Εκτελέστε τη μέθοδο execute(), περάστε το αντικείμενο httpget και, στη συνέχεια, δημιουργήστε μια εξαίρεση

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

9) Αφού λάβετε το αντικείμενο HttpResponse, μπορείτε να καλέσετε τη μέθοδο getEntity για να αποκτήσετε το αντικείμενο απόκρισης Httpentity Μετά τη λήψη της μεθόδου EntityUtils.toString, ο τύπος επιστροφής είναι τύπου String.

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Το αποτέλεσμα res ορίζεται παραπάνω
Τώρα αμέσως
Εισαγάγετε την περιγραφή της εικόνας εδώ

10) Τρέξε

Εισαγάγετε την περιγραφή της εικόνας εδώ

3.1.2
Εργασίες προετοιμασίας: Επαληθεύστε εάν η διεπαφή αιτήματος του εγγράφου διεπαφής swagger έχει περάσει

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 1: Δημιουργήστε ένα όνομα κλάσης Test05 και δημιουργήστε μια κύρια μέθοδο

http://47.108.153.47:18089/qzcsbj/user/login
url, παράμετροι παραμέτρων αιτήματος, κεφαλίδες αιτημάτων

Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 2: Καθορίστε το url της μεταβλητής διεύθυνσης της διεπαφής, τις παραμέτρους παραμέτρων αιτήματος και τις κεφαλίδες αιτημάτων

Αυτές οι παράμετροι λαμβάνονται από αρχεία δεδομένων στο πλαίσιο αυτοματισμού.
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

Βήμα 3: Αναλύστε τη συμβολοσειρά json και τις κεφαλίδες χρησιμοποιώντας τη μέθοδο JSONObject.parseObject().
Βήμα 4: Καθορίστε μια μέθοδο για την αποστολή αιτημάτων ανάρτησης, βελτιώστε τη λογική και περάστε την κεφαλίδα, τη διεύθυνση URL και τις παραμέτρους.

Ορίστε το res
επιστροφή ανάλογ

Εισαγάγετε την περιγραφή της εικόνας εδώ

1) Λάβετε το κλειδί μέσω του jsonobetct.keySet(), λάβετε μια συλλογή Set και περάστε το κλειδί για να λάβετε το κλειδί

Εισαγάγετε την περιγραφή της εικόνας εδώ

2) Εάν θέλετε να καλέσετε τη μέθοδο addHeader() μέσω του αντικειμένου httppost και ο τύπος επιστροφής είναι HttPost, πρέπει πρώτα να δημιουργήσετε ένα αντικείμενο httpppost.

Διεύθυνση URL πρόσβασης
Εισαγάγετε την περιγραφή της εικόνας εδώ

3) Καλέστε τη μέθοδο addHeader() μέσω του αντικειμένου httppost

Εισαγάγετε την περιγραφή της εικόνας εδώ

4) Το httpEntity είναι απαραίτητο, αλλά το httpEntity είναι μια διεπαφή Η διεπαφή δεν μπορεί να δημιουργήσει αντικείμενα.

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Αν κοιτάξετε τον κατασκευαστή, μπορείτε να περάσετε το String και να καθορίσετε τον δεύτερο κατασκευαστή.

Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ
Το παραπάνω είναι το αίτημα ανάρτησης που εστάλη: η κεφαλίδα του αιτήματος και τα δεδομένα που θα σταλούν είναι όλα καθορισμένα.

5) Δημιουργήστε το πρόγραμμα-πελάτη httpclient, χρησιμοποιώντας τη μέθοδο HttpClients.createDefault(), ο τύπος επιστροφής είναι CloseableHttpClient

Το αντικείμενο υποκλάσης οδηγεί στην αναφορά γονικής κλάσης
Εισαγάγετε την περιγραφή της εικόνας εδώ

6) Στείλτε ένα αίτημα, εκτελέστε τη μέθοδο execute(), περάστε το αντικείμενο httppost και, στη συνέχεια, δημιουργήστε μια εξαίρεση.

Εισαγάγετε την περιγραφή της εικόνας εδώ

7)) Αφού λάβετε το αντικείμενο HttpResponse, μπορείτε να καλέσετε τη μέθοδο getEntity για να αποκτήσετε το αντικείμενο απόκρισης Httpentity Μετά τη λήψη της μεθόδου EntityUtils.toString, ο τύπος επιστροφής είναι τύπου String

Εισαγάγετε την περιγραφή της εικόνας εδώ

8) Καλέστε τη μέθοδο που μόλις καθορίστηκε στην κύρια μέθοδο

Εισαγάγετε την περιγραφή της εικόνας εδώ

9) Τρέξε

Εισαγάγετε την περιγραφή της εικόνας εδώ