selenium中发送http请求来测试

来源:互联网 发布:mac有没有升降调软件 编辑:程序博客网 时间:2024/05/04 10:04

所使用的自动化测试框架selenium+maven+testng。最近在做自动化测试时,需要初始化数据,由于开发那边没有具体的说明文档,不知道应该动到数据库里面的哪些表。所以想起是否可以调用接口来帮我初始化数据。

产品通过get和post方式来发送请求。需要先登录一次获取Cookie,后面就直接写入Cookie调用了。代码(Java)如下:

public class Testhttp {public static CookieStore cookiestore = null;//get方式public static HttpResponse doGet(String url, String param) {HttpResponse response = null;HttpGet httpget = null;String reurl = null;try {if(param != null) {reurl = String.format("%s?%s", url, param);httpget = new HttpGet(reurl);}//得到Cookieif(null == cookiestore) {DefaultHttpClient httpclient = new DefaultHttpClient();response = httpclient.execute(httpget);cookiestore = httpclient.getCookieStore();}//获取Cookieif(null == cookiestore) {DefaultHttpClient httpclient = new DefaultHttpClient();response = httpclient.execute(httpget);cookiestore = httpclient.getCookieStore();}if(response.getStatusLine().getStatusCode() == 200) {String result = EntityUtils.toString(response.getEntity());System.out.println(result);}System.out.println("Http request response is: " + response.getStatusLine());} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return response;}//post方式public static HttpResponse doPost(String url, String param) {HttpResponse response = null;HttpPost httppost = null;String reurl = null;try {if(param != null) {reurl = String.format("%s?%s", url, param);httppost = new HttpPost(reurl);}//得到Cookieif(cookiestore == null) {DefaultHttpClient httpclient = new DefaultHttpClient();response = httpclient.execute(httppost);cookiestore = httpclient.getCookieStore();}//获取Cookieif(cookiestore != null) {DefaultHttpClient httpclient = new DefaultHttpClient();httpclient.setCookieStore(cookiestore);response = httpclient.execute(httppost);}if(response.getStatusLine().getStatusCode() == 200) {String result = EntityUtils.toString(response.getEntity());//System.out.println(result);}System.out.println("Http request response is: " + response.getStatusLine());} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return response;}}


这样就可以不用管开发在添加、删除操作中到底用了到哪些库哪些表,直接调用接口帮我完成了。


0 0
原创粉丝点击