在java和testng或junit的映射中设置值的断言

在java和testng或junit的映射中设置值的断言,java,unit-testing,junit,http-headers,testng,Java,Unit Testing,Junit,Http Headers,Testng,我有一个用java编写的测试,其中包含一个发送到服务器的简单HTTP请求,然后捕获服务器响应 这里我想要一种方法来断言我从服务器接收到的响应头的控制台输出 其中一个响应头上的示例:如果“Content Length”=12227,则表示通过测试,否则测试失败 这是我的密码: public class ResponseHeaderLoggedInUser { @Test public void ResponseHeadersforUSA() { try { //Sy

我有一个用java编写的测试,其中包含一个发送到服务器的简单HTTP请求,然后捕获服务器响应

这里我想要一种方法来断言我从服务器接收到的响应头的控制台输出

其中一个响应头上的示例:如果“Content Length”=12227,则表示通过测试,否则测试失败

这是我的密码:

public class ResponseHeaderLoggedInUser {

@Test
public void ResponseHeadersforUSA() {

    try {


        //System.setOut(myconsole);
        URL obj = new URL("http://www.ivivva.com/?locale=en_US");
        URLConnection conn = obj.openConnection();


        //Setting Request Headers//
        conn.setRequestProperty("Host", "www.ivivva.com");
        conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0");
        conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        conn.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        conn.setRequestProperty("Accept-Encoding", "gzip, deflate");
        conn.setRequestProperty("Cookie", "NSC_JOv4n55lbq2w4zpexoskqbexxcrzicc=ffffffff09d205ab45525d5f4f58455e445a4a423660; UsrLocale=en_US; Country=US; ca_ord=gGYBmQjaBCVj65TJ+vOBJw==; isLoggedin=true; cartCount=0; NSC_mvmvmfnpo_tubhfw10_jwjwwb_mc=ffffffff09d205ab45525d5f4f58455e445a4a4229a0; omniID=1482345027850BoER; mbox=session#1482345027884-6794#1482347607|check#true#1482345807; __utma=210616138.1023825236.1482345028.1482345028.1482345028.1; __utmb=210616138.5.10.1482345028; __utmc=210616138; __utmz=210616138.1482345028.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); s_cc=true; s_fid=752E92B2B20003FF-05DED4FECDE6B525; c_m2=1; c_m=undefinedDirect%20LoadDirect%20Load; s_nr=1482345746223; s_vnum=1484937028265%26vn%3D1; s_invisit=true; s_lv=1482345746225; s_lv_s=First%20Visit; s_sq=%5B%5BB%5D%5D; sandy-session-id=0fa3f19b82e69e2a; sandy-client-id=93c64748da80825e; BTT_X0siD=807679838813198396; BTT_Collect=on; s_vi=[CS]v1|2C2D6522051D272B-6000016360010F9A[CE]; _ga=GA1.2.1023825236.1482345028; sl=CA; BTT_WCD_Collect=off; JSESSIONID=61AE25BF6E33856CB6FDD67DC939D9B6; regionMsgShown=true; us_ord=27qFcsniy0Bv/8EVzdZzNw==; _gat_mobifyTracker=1; __utmt_ga=1");

        conn.setRequestProperty("Connection", "keep-alive");
        conn.setRequestProperty("Upgrade-Insecure-Requests", "1");
        conn.setRequestProperty("Cache-Control", "max-age=0");


        Map<String, List<String>> map = conn.getHeaderFields();

        System.out.println("Printing Response Header...\n");

        System.out.println("This test is for Logged in user with userlocale present\n");



        for (Map.Entry<String, List<String>> entry : map.entrySet()) {
            System.out.println("Key : " + entry.getKey()
                    + " ,Value : " + entry.getValue());


        }

         } catch (Exception e) {
        e.printStackTrace();
    }
  }}
public类ResponseHeaderLoggedInUser{
@试验
美国公共责任负责人(){
试一试{
//系统放样(myconsole);
URL obj=新URL(“http://www.ivivva.com/?locale=en_US");
URLConnection conn=obj.openConnection();
//设置请求头//
conn.setRequestProperty(“主机”,“www.ivivivva.com”);
conn.setRequestProperty(“用户代理”、“Mozilla/5.0(Windows NT 6.1;WOW64;rv:50.0)Gecko/20100101 Firefox/50.0”);
conn.setRequestProperty(“接受”,“文本/html,应用程序/xhtml+xml,应用程序/xml;q=0.9,*/*;q=0.8”);
conn.setRequestProperty(“接受语言”,“en-US,en;q=0.5”);
conn.setRequestProperty(“接受编码”、“gzip、deflate”);
conn.setRequestProperty(“Cookie”,"中国政府的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究部门的一个研究人员(ffffffffffffffff45454545A4A4A4660;usrlocalle=美国;美国政府的一个研究;国家;国家;国家=美国;国家=我们;国家=美国;Cau联赛的一个研究部门;国家;我们;Cau ord_uuuuuuuuuuuuuuuuuuuuOrOrOrOrOrOru=我们;国家=我们;国家=我们;国家=我们;我们;Cau ord-ord-ord=我们;ca-Oord=我们的一方方方方方方方方方方=我们的身份=检查是否正确1482345807ma=210616138.1023825236.1482345028.1482345028.1482345028.1;uuUTMB=210616138.5.10.1482345028;uuUTMC=210616138;uuUTMZ=210616138.1482345028.1.1.utmcsr=(直接)| utmccn=(直接)| utmcmd=(无)c(U)m=1;c(U)m=Undededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededededede收集_vi=[CS]v1 | 2C2D6522051D272B-6000016360010F9A[CE];[U ga=GA1.2.1023825236.1482345028;sl=CA;BTT_WCD_Collect=off;JSSessionID=61AE25BF6E33856CB6FDD67DC939D9B6;RegionMsgShowed=true;us_ord=27QFCSNI0BV/8EVZDZNW==;[U gat_mobifTracker=1;[U mtu ga=1]);
conn.setRequestProperty(“连接”、“保持活动”);
conn.setRequestProperty(“升级不安全请求”,“1”);
conn.setRequestProperty(“缓存控制”,“最大年龄=0”);
Map Map=conn.getHeaderFields();
System.out.println(“打印响应头…\n”);
System.out.println(“此测试针对存在userlocale的登录用户\n”);
对于(Map.Entry:Map.entrySet()){
System.out.println(“Key:+entry.getKey()
+,值:“+entry.getValue());
}
}捕获(例外e){
e、 printStackTrace();
}
}}

在此处查看JUnit测试用例的使用。如果您知道如何检索内容长度的值,则可以使用AssertEquals功能,该功能使用您想要比较的两个参数

在JUnit中,您的代码如下所示:

AssertEquals("Expected Value","Actual Value");
因此,对于您的内容长度:

AssertEquals("12227", map.get(Content-Length));

您需要做的唯一一件事就是正确地检索实际的内容长度。

在这里查看使用JUnit测试用例的情况。如果您知道如何检索内容长度的值,您可以使用AssertEquals功能,该功能使用您想要比较的两个参数

在JUnit中,您的代码如下所示:

AssertEquals("Expected Value","Actual Value");
因此,对于您的内容长度:

AssertEquals("12227", map.get(Content-Length));

您唯一需要做的就是正确检索实际内容长度。

您有什么问题?我现在在上面的句子中添加了一个“?”。请看一看。可能类似于assertEquals(“12227”,map.get(“内容长度”))请考虑使用一个库,比如“代码> OKHTTP P/代码>,它让您更容易地访问响应头。BRANPIPPA,它工作了,它应该是CON.Gethe AdEdfield,而不是MAP。GET,我得到了一些意想不到的结果。grefer-我很快就会试试!你有什么问题?我现在在上面的句子中添加了一个“?”。请看。可能类似于assertEquals(“12227”,map.get(“内容长度”))请考虑使用一个库,比如“代码> OKHTTP P/代码>,它让您更容易地访问响应头。BRANPIPPA,它工作了,它应该是CON.Gethe AdEdfield,而不是MAP。GET,我得到了一些意想不到的结果。格雷弗-我很快就会试一试!