import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertThat;
import java.io.IOException;
import org.apache.http.client.ClientProtocolException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import autoWebApiRequest.HttpRequest;
public class UnsubscribesTestCaseTNG {
String testString ;
String add_unsubscribes ;
@BeforeClass
public void setUp() throws Exception {
this.testString = "https://xxx.xxxx";
this.add_unsubscribes = this.testString +
"xxx.xxxx";
}
public static void testAssert(String tString, String resultString){
String eString;
try {
eString = HttpRequest.webApiResult(tString);
assertThat(eString, containsString(resultString));
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
@Parameters({"resultString","userName","pwd","email"})
public void add_unsubscribes(String resultString,String userName, String pwd,String email) {
String tString = add_unsubscribes + "api_user="+userName+"&api_key="+pwd+"&email="+email;
System.out.println(tString);
testAssert(tString, resultString);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
public class HttpRequest {
//发送一般Get请求
public static String webApiResult(String url) throws ClientProtocolException, IOException{
String str = null;
HttpClient httpclient = new DefaultHttpClient();
// 创建Get方法实例
HttpGet httpgets = new HttpGet(url);
HttpResponse response = httpclient.execute(httpgets);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instreams = entity.getContent();
str = convertStreamToString(instreams);
httpgets.abort();
}
return str;
}
}
使用testNG完成一般httpclient发送请求的测试
1 定义request发送方法
2 定义testNG发送数据
3 获取response消息,并对比结果