您的位置:首页 > 其它

使用testng+xml编写、执行自动化测试用例

2017-02-14 18:11 489 查看
测试需求:

对提交的表单数据评分规则进行验证,如其中一项,申请人社保信息核实,选项以及每个选项的得分如下:





手工编写测试用例步骤如下:



使用testng+xml进行自动化测试时,需要准备如下步骤:

1.编写测试脚本(工具eclipse,语言java)

2.在xml文件中设置测试参数

3.执行xml文件

l 编写测试脚本,主要包括定义需要传递的参数名称,定位测试项,以及输出选项得分

package test1;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class NewTest1 {
WebDriver driver;

@Parameters({ "SheBao" })
@Test
public void Part2(String SheBao) {
// 定位社保选项
new Select(driver.findElement(By.name("MCRG03")))
.selectByVisibleText(SheBao);
// 输出选项的对应分值
if ("社保单位名称与申请表不一致".equals(SheBao) | "无社保".equals(SheBao)
| "无法验证社保信息".equals(SheBao) | "其他".equals(SheBao)
| "未填".equals(SheBao)) {
System.out.println("社保=0");
} else if ("社保单位名称与申请表一致".equals(SheBao)) {
System.out.println("社保=1");
} else {
System.out.println("社保=-50");
}
}
}


使用@Parameters为测试方法传递参数,第一步是在测试类中定义测试方法时,通过@Parameters为测试方法声明参数的名称;第二步是在testng.xml配置文件中通过测试参数的名称为测试参数赋值。

注:@Parameters可以声明多个参数,但是要与测试方法、testng.xml的参数,一一对应

l 在testng.xml中设置测试参数,参数值为社保选项得分为1的值,格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="suite1">
<test name="score1" enabled="true">
<parameter name="SheBao" value="社保单位名称与申请表一致" />
<classes>
<class name="test1.p">
<methods>
<include name="SheBao" />
</methods>
</class>
</classes>
</test>
</suite>

l 执行用例,选中testng.xml,右键,run as-testng suite



则可自动选中社保选项"社保单位名称与申请表一致",并打印出“社保=1”。

以上就是成功执行了手工用例中的第一条用例。执行其余步骤同上。

虽然看起来似乎会觉得就验证这样一个选项花费了太多的时间,还不如手动点击验证下,但是实际上以上只是一个页面中的其中一个验证点而已,如果有多个验证点时,则可在xml文件中设置多个参数,在回归测试中就可以体现出来优势了,而且使用xml文件管理测试数据,也实现了代码和数据的分离,便于后期的维护,修改测试数据也很方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐