下面的例子演示如何从页面中取出第一个表格的内容并且将他们循环显示出来:
System.out.println("获取页面中表格的内容:");
//建立一个WebConversation实例
WebConversation wc = new WebConversation();
//获取响应对象
WebResponse resp = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//获得对应的表格对象
WebTable webTable = resp.getTables()[0];
//将表格对象的内容传递给字符串数组
String[][] datas = webTable.asText();
//循环显示表格内容
int i = 0 ,j = 0;
int m = datas[0].length;
int n = datas.length;
while (i<n){
j=0;
while(j<m){
System.out.println("表格中第"+(i+1)+"行第"+(j+1)+"列的内容是:"+datas[j]);
++j;
}
++i;
}
4.4 处理页面中的表单
表单是用来接受用户输入,也可以向用户显示用户已输入信息(如需要用户修改数据时,通常会显示他以前输入过的信息),在HttpUnit中使用数组来处理页面中的多个表单,你可以用resp.getForms()方法获取页面所有的表单对象。他们依照出现在页面中的顺序保存在一个数组里面。
[注意] Java中数组下标是从0开始的,所以取第一个表单应该是resp.getForms()[0],其他以此类推。
下面的例子演示如何从页面中取出第一个表单的内容并且将他们循环显示出来:
System.out.println("获取页面中表单的内容:");
//建立一个WebConversation实例
WebConversation wc = new WebConversation();
//获取响应对象
WebResponse resp = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//获得对应的表单对象
WebForm webForm = resp.getForms()[0];
//获得表单中所有控件的名字
String[] pNames = webForm.getParameterNames();
int i = 0;
int m = pNames.length;
//循环显示表单中所有控件的内容
while(i<m){
System.out.println("第"+(i+1)+"个控件的名字是"+pNames+",里面的内容是"+webForm.getParameterValue(pNames));
++i;
}
5 如何使用httpunit进行测试
5.1 对页面内容进行测试
httpunit中的这部分测试完全采用了JUnit的测试方法,即直接将你期望的结果和页面中的输出内容进行比较。不过这里的测试就简单多了,只是字符串和字符串的比较。
比如你期望中的页面显示是中有一个表格,它是页面中的第一个表格,而且他的第一行第一列的数据应该是显示username,那么你可以使用下面的代码进行自动化测试:
System.out.println("获取页面中表格的内容并且进行测试:");
//建立一个WebConversation实例
WebConversation wc = new WebConversation();
//获取响应对象
WebResponse resp = wc.getResponse( "http://localhost:6888/TableTest.html" );
//获得对应的表格对象
WebTable webTable = resp.getTables()[0];
//将表格对象的内容传递给字符串数组
String[][] datas = webTable.asText();
//对表格内容进行测试
文章来源于领测软件测试网 https://www.ltesting.net/