零基础搭建自动化测试框架--004使用断言(selenium testng 断言)

断言是什么? ? ? ? 
一个测试的成功意味着再不抛任何异常的情况下执行完成。

断言帮助我们验证测试条件,并根据测试条件确认用例是否执行成功还是执行失败。


下面以验证以验证谷歌标题等于Google为例。如果页面标题和我们提供的目标文本标题不一直, 则跑出异常,用例失败。

如下面的代码示例所示:

@Test

         publicvoid testCaseVerifyHomePage() {

                 driver=new FirefoxDriver();

                 driver.navigate().to("http://google.com");

                 Assert.assertEquals("Google", driver.getTitle());

         }

我在做在上面的测试用例,首先我创建一个Firefox  driver, 然后打开谷歌首页,第三行则为断言。

也可以写成如下断言。Assert.assertEquals("Goooogle",driver.getTitle(), "Title not matching");

TestNG 断言在整个断言里面扮演者重要角色,且其清晰的代码格式深得喜爱。

 

将页面标题改变为下面代码执行并查看执行结果。

@Test

         publicvoid testCaseVerifyHomePage() {

                 driver=new FirefoxDriver();

                 driver.navigate().to("http://google.com");

                 Assert.assertEquals("Gooooogle", driver.getTitle());

         }

上面的代码将抛出一个断言错误: java.lang.AssertionError: expected [Google] but found [Gooooogle]

如上面代码所示:TestNG提供了很多好用的断言。以下是经常使用的。

Assert.assertEqual(String actual,String expected) :检查两个字符串是否相等,如果不相等,测试失败。

Assert.assertEqual(String actual,String expected, Stringmessage) :它有三个字符串参数,检查两个字符串是否相等, 如果不相等,测试失败, 且在抛出异常中打印出我们提供的第三个message参数信息

Assert.assertEquals(booleanactual,boolean expected) : 检查两个boolean值是否相等,如果不相等,测试失败。

Assert.assertEqual (java.util.Collection actual, java.util.Collection expected,java.lang.String message): 检查两个Collection Objece对象是否相等, 如果不相等,测试失败,且在抛出异常中打印出我们提供的第三个message参数信息

 

Assert.assertTrue(condition):判断传入的条件是一个boolean值,如果值为true,则用例通过,否则抛出一个AssertionError异常。

Assert.assertTrue(condition, message) : 判断传入的条件是一个boolean值,如果值为true,则用例通过,否则抛出一个AssertionError异常,且在异常消息中打印出传入的message提示信息。

Assert.assertFalse(condition) : 判断传入的条件是一个boolean值,如果值为false,则用例通过,否则抛出一个AssertionError异常。

Assert.assertFalse(condition, message): 判断传入的条件是一个boolean值,如果值为false,则用例通过,否则抛出一个AssertionError异常,且在异常消息中打印出传入的message提示信息。

下面是使用断言的示例代码:

         @Test

         publicvoid testCaseVerifyHomePage() {

                 driver=new FirefoxDriver();

                 driver.navigate().to("http://google.com");

                 Assert.assertEquals("Gooogle", driver.getTitle(), "Strings are not matching");

                 //Writea code to login and write a method called isUserLoggedInSuccessfully andisUserLoggedOut which returns boolean.

                 Assert.assertTrue(isUserLoggedInSuccessfully(),"User failed tologin");

                 Assert.assertFalse(isUserLoggedOut())

                 }

}

TestNG 断言:

Assert.assertEquals(actual, expected):
actual一般是被测试的代码返回的实际值。

expected是期望值,通常都是用户指定的内容。

传两个参数值,如果实际的值等于期望的值,则脚本断言成功,反之则失败。可以指定输出错误信息。

Assert.assertNotEquals(actual1, actual2, delta):
判断是否不相等。

Assert.assertEquals(actual, expected, delta, message):
float和double后面多了一个delta的值,是误差参数,参加比较的两个浮点数在这个误差之内则会被认为是相等的。

Assert.assertEqualsNoOrder(Object[] actual, Object[] expected):
判断顺序是否相等,可以有消息,也可以没有消息。

Assert.fail(message,realCause) :
直接失败测试用例,可以抛出异常,可以有消息,也可以没有消息。

Assert.assertTrue(condition,message):
判断是否为true。

Assert.assertFalse(condition,message):
判断是否为false。

Assert.assertSame(actual, expected,):
判断两个对象是否指向同一个对象,引用地址是否相等。

Assert.assertNotSame(actual, expected,):
判断两个对象是否指向同一个对象,引用地址是否不相等。

Assert.assertNull(argo,arg1):
判断是否为null。

Assert.assertNotNull(argo,arg1):
判断是否不为null

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值