接口測試
Jsoup框架:java接口測試框架
1.創建連接對象
Connection 連接對象=Jsoup.connect(String URL);
2.創建文本對象
Document 文本對象=連接對象.請求方法();
3.傳遞參數
連接對象.data(String 參數名,參數值)
4.創建元素對象
Element 元素對象=文本對象.方式()
方法:
text(),元素對象標籤文本
attr(String 屬性名),對應的屬性值
5.創建頁面元素對象列表
Elements 對象列表=文本對象.select(cssSelector)
import java.io.FileWriter;
import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupDemo {
public static void main(String[] args) {
Connection conn = Jsoup.connect("https://www.baidu.com/");
try {
Document doc = conn.get();
Elements elements = doc.select(".mnav");
for (Element e : elements) {
System.out.println(e.text() + ":" + e.attr("href"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
selenium與jsoup:
selenium主要是關注頁面上的操作,以及操作步驟、先點擊什麼,後點擊什麼等
jsoup只關注接口的地址、接口的傳參、以及接口的響應等
HttpClient:java接口測試框架
1.創建可關閉的HttpClient對象
CloseableHttpClient 可關閉的HttpClient對象=HttpClients.createDefault();
2. 創建http請求對象
Http請求方式 http請求對象=new Http請求方式(String URL)
3.創建http結果響應對象
HttpResponse Http響應對象=HttpClient對象.execute("Http請求對象")
4.創建http實體對象
HttpEntity http實體對象=http響應對象.getEntity();
5.實體對象返回字符串形式
EntityUtils.toString(Http實體對象);
import java.io.FileWriter;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class HttpclientDemo {
public static void main(String[] args) {
// 創建可關閉的HttpClient對象
CloseableHttpClient client = HttpClients.createDefault();
// 創建http請求對象
HttpGet get = new HttpGet("https://www.jd.com");
// 創建http結果響應對象
try {
HttpResponse response = client.execute(get);
// 創建http實體對象
HttpEntity entity = response.getEntity();
String html = EntityUtils.toString(entity);
FileWriter fw = new FileWriter("d:\\\\1\\\\httpclient.txt");
fw.write(html);
fw.close();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
閱讀更多 肥西金 的文章