TestNG断言

TestNG断言1 原理 对测试程序变量的中间状态进行断言 Assert 判断 从而辅助判断测试用例的执行是成功还是失败 2 TestNG 中常用的断言方法有 1 assertTrue 判断是否为 True 2 assertFalse 判断是否为 false 3 assertSame 判断引用地址是否相同 4 assertNotSam 判断引用地址是否不相同 5

1、原理:对测试程序变量的中间状态进行断言(Assert)判断,从而辅助判断测试用例的执行是成功还是失败。

2、TestNG中常用的断言方法有:

(1) assertTrue:判断是否为True。

(2) assertFalse:判断是否为false。

(3) assertSame:判断引用地址是否相同。

(4) assertNotSame:判断引用地址是否不相同。

(5) assertNull:判断是否为null。

(6) assertNotNull:判断是否不为null。

(7) assertEquals:判断是否相等,Object类型的对象需要实现haseCode及equals方法。

(8) assertNotEquals:判断是否不相等。

(9) assertEqualsNoOrder:判断忽略顺序是否相等。

3、下面使用WebDriver测试实例体现断言的使用方法。测试用例:

(1) 打开Firefox浏览器,访问sogou首页。

(2) 查找首页上的输入框元素。

(3) 断言输入框是否存在。

(4) 输入搜索关键字,点击搜索按钮。



测试程序:

package cn.testng; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class AssertTest { public WebDriver driver; String baseUrl="http://www.sogou.com";//设定访问网站的地址 @Test public void testSearch() { //打开sogou首页 driver.get(baseUrl+"/"); WebElement inputBox=driver.findElement(By.id("query")); /*使用Assert类的assertTrue方法断言搜索输入框是否在页面显示 * isDisplayed方法根据页面元素的显示状态返回判断值,在页面显示则返回true,不显示则返回false */ Assert.assertTrue(inputBox.isDisplayed()); inputBox.sendKeys("自动化测试"); //点击搜索按钮 driver.findElement(By.id("stb")).click(); } @BeforeMethod public void beforeMethod() { //若无法打开Firefox浏览器,可设定Firefox浏览器的安装路径 System.setProperty("webdriver.firefox.bin", "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //打开Firefox浏览器 driver=new FirefoxDriver(); } @AfterMethod public void afterMethod() { //关闭打开的浏览器 driver.quit(); } } empty

测试结果:

[TestNG] Running:
  C:\Windows\Temp\testng-eclipse–\testng-customsuite.xml

PASSED: testSearch

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================












版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231808.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mapstate映射数组名(逆映射)

    mapState映射可以将State中的数据yourName映射到本地this.yourName,使用之前要将相应的文件引入state:页面组件:原本使用state中数据的方法:使用mapState之后:除了使用这种数组的方式,mapState里面也可以放一个对象意思是将公用数据中的city映射到此组件中的计算属性currentCity中…

    2022年4月14日
    103
  • 精雕软件怎么把图片转成灰度图_怎么把普通的照片变成浮雕用的灰度图 精雕图 灰度图 浮雕图之间怎么能联系起来使用…

    精雕软件怎么把图片转成灰度图_怎么把普通的照片变成浮雕用的灰度图 精雕图 灰度图 浮雕图之间怎么能联系起来使用…怎么把普通的照片变成浮雕用的灰度图用PS啊,里面有这种效果的,若需要帮忙的话,可以加发给我一份啊,尽量帮你哈,呵呵用photoshop把照片变成灰度图,用PS做有很多方法,介绍两种:方法1:简单一步到位,直接在图像,模式里选择灰度即可。方法2:设置黑白照片,比“灰度”命令稍复杂,但可以保留更多照片细节。适合专业人士。怎样把普通图片做成浮雕用的的BMP灰度图?:使用工具:photoshop软件1、…

    2022年6月20日
    40
  • SpringBoot集成Redis和配置Redis做缓存[通俗易懂]

    SpringBoot集成Redis和配置Redis做缓存[通俗易懂]Redis介绍Redis是一个开源的、高性能的、基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求,直观的存储结构使得通过程序交互十分简单。Redis数据库中所有数据都存储在内存中,由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势,而且Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中,且不影…

    2022年9月22日
    3
  • eclipse 导入maven工程 在libraries 没有maven Dependencies「建议收藏」

    eclipse 导入maven工程 在libraries 没有maven Dependencies「建议收藏」导入maven工程的时候所有的依赖包下载不下来,最后而且在工程的buildPath====>javaBuildPath====>libraries中没有mavenDependencies,显示为org.eclipse.ide.MAVEN2_CLASSPATH_CONTAINER解决方法:1..classPath文件缺失<classpathentrykind=…

    2022年5月31日
    130
  • SVN提交报错”svn: Commit blocked by pre-commit hook (exit code 1) with output: Can’t get Mantis_Key”的解决办法

    SVN提交报错”svn: Commit blocked by pre-commit hook (exit code 1) with output: Can’t get Mantis_Key”的解决办法

    2021年7月17日
    96
  • ntp协议原理_ntp服务器连接失败

    ntp协议原理_ntp服务器连接失败ntp协议,c语言实现PAGEPAGE26ntp协议,c语言实现篇一:NTP协议格式(中文)NTP协议格式(中文)NTP协议格式1.NTP时间戳格式SNTP使用在RFC1305及其以前的版本所描述标准NTP时间戳的格式。与因特网标准标准一致,NTP数据被指定为整数或定点小数,位以big-endian风格从左边0位或者高位计数。除非不这样指定,全部数量都将设成unsigned的类型,并…

    2022年10月10日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号