Assert为TestNG中的断言类
1、Assert.assertTrue();
assertTrue()如果实际输出的结果是false,测试不通过,并停止执行。
2、Assert.assertFalse();
assertFalse()如果实际输出的结果是true,测试不通过,并停止执行。
3、Assert.assertEquals()
assertEquals()如果值不等,就会停止执行,测试不通过。如果值相等就会继续执行
//获取输入框群组昵称,并且记录
String qunzuName1 = findElementById("com.cmcc.p.poc:id/et_content").getText();
logger.error("第一获取到群组昵称:【" + qunzuName1 + "】");
//点击换一下
clickyuansu("com.cmcc.p.poc:id/tv_next");
//获取输入框群组昵称,并且记录
String qunzuName2 = findElementById("com.cmcc.p.poc:id/et_content").getText();
logger.error("第二获取到群组昵称:【" + qunzuName2 + "】");
//断言群组昵称是否一致 testng自带的断言,第一个是实际结果,第二个是期望结果
//断言不一样则测试通过
Assert.assertNotEquals(qunzuName1, qunzuName2);
logger.error("第一获取到群组昵称和第二次获取到不一样表示 换一下 测试通过:【" + qunzuName1 + "】和【" + qunzuName2 + "】");
//点击创建按钮
clickElement("群组页面","创建按钮");
//点击返回
clickElement("邀请成员页面","返回按钮");
//获取当前群组昵称
String qunzuName3 = findElementById("com.cmcc.p.poc:id/tv_group_name").getText();
logger.error("第三获取到群组昵称:【" + qunzuName3 + "】");
//断言群组昵称是否一致,一样则通过 testng自带的断言,第一个是实际结果,第二个是期望结果
Assert.assertEquals(qunzuName2,qunzuName3);
logger.error("创建前群组昵称和创建后群组昵称显示一致 表示测试通过:【" + qunzuName1 + "】和【" + qunzuName2 + "】");
封装使用
封装
/**
* 封装的点击元素方法, 然后做日志
*
* @param pageKeyWord
* @param locatorKeyWord
*/
public void clickElement(String pageKeyWord, String locatorKeyWord) {
// 日志
logger.info("在页面【" + pageKeyWord + "】去找元素【" + locatorKeyWord + "】");
getElement(pageKeyWord, locatorKeyWord).click();
}
/**
* 封装的输入 数据的方法, 然后做日志
*
* @param pageKeyWord
* @param locatorKeyWord
* @param data
*/
public void sendData(String pageKeyWord, String locatorKeyWord, String data) {
logger.info("在页面【" + pageKeyWord + "】去找元素【" + locatorKeyWord + "】并输入数据【" + data + "】");
getElement(pageKeyWord, locatorKeyWord).sendKeys(data);
}
调用
断言
在unittest单元测试框架中,TestCase类提供了一些方法来检查并报告故障:
>>assertEqual(first, second, msg=None)
判断first和second的值是否相等,如果不相等则测试失败,msg用于定义失败后所抛出的异常信息。
>>assertNotEqual(first, second, msg=None)
测试first和second不相等,如果相等,则测试失败。
>>assertTure(expr,msg=None)
>>assertFalse(expr,msg=None)
测试expr为Ture(或为False)
>>assertIs(first, second, msg=None)
>>assertIsNot(first, second, msg=None)
测试的first和second是(或不是)相同的对象。
>>assertIsNone(expr, msg=None)
>>assertIsNotNone(expr, msg=None)
测试expr是(或不是)为None
>>assertIn(first, second, msg=None)
>>assertNotIn(first, second, msg=None)
测试first是(或不是)在second中。second包含是否包含first。
场景1:断言文字中 有换行情况