k13–7/15 selenium04 - TestNG

功能测试的流程:

分析需求 → 排测试计划 → 设计测试用例 → 执行测试用例

TestNG说明

TestNG 最重要的是注脚 @Test 的使用,一个方法加上 @Test 就表示其是一个测试方法,我们把每一个测试用例封装在不同的 @Test 方法中,那么也就用自动化代码实现了功能测试用例的设计。

常用注脚:

@BeforeClass/@AfterClass

(1)表示的意义:每个测试类运行前和运行后进行执行。

(2)运行次数:每次启动一个测试类,无论其中有多少个测试方法,这对注脚都只执行一次。

(3)应用场景:可以用于启动浏览器和退出浏览器。

@BeforeMethod/@ AfterMethod

(1)表示的意义:

@BeforeMethod 在每个 @Test 方法之前会自动被执行;

@AfterMethodz 在每个 @Test 方法之后会自动被执行;

(2)运行次数:这对注脚的运行次数与同一个测试类中包含多少个 @Test 方法有关,如果一个测试类中有 N( N>0 的整数)个 @Test 方法,那么这对注脚就别被执行 N 次。

(3)应用场景:我们知道浏览器是会产生缓存的,所以可以在这对注脚里写清除或者刷新浏览器缓存的代码。

其他注脚

还有@BeforeSuite/@AfterSuite与@BeforeTest/@AfterTest 。但是写在 TestNG 启动的 XML 文件中。

TestNG 的优点

(1)用例可以依据 testng-customsuite.xml 进行执行顺序、个数的优化;

(2)可以通过数据驱动进行多线程测试;

(3)可以不再依靠主方法 Main 进行方法的执行。

断言类方法:

(1)通过获取 UI 上的某个控件对象的某种属性值和期望值进行比较来验证是否正确。

(2)页面跳转后通过验证页面上某个控件对象是否存在,来判断是否缓冲完成。

Assert 类常用的方法:

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

(2)Assert.assertFalse(condition) 判断是否为 false。

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

(4)Assert.assertNotNull(object) 判断是否不为 null。

(5)Assert.assertNotSame(actual, expected, message) 判断引用地址是否不相同。

(6)Assert.assertNull(object, message) 判断是否为 null。

(7)Assert.assertSame(actual, expected) 判断引用地址是否相同。

(8)Assert.assertTrue(condition) 判断是否为 True。

总结

(1)掌握 TestNG 的使用方法。

(2)切记 Assert 断言类的使用场景,场景不清晰就根本设置不好断言,另外断言并不是越多越好,代码过多会影响程序的执行效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 感谢原作者的奉献,原作者博客地址:http://blog.csdn.net/zhu_ai_xin_520/arti...
    狼孩阅读 14,131评论 1 35
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • JUnit是一个开源的java自动化单元测试框架。由 Erich Gamma 和 Kent Beck 与1997年...
    zhaozhiwen阅读 2,094评论 2 13
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,383评论 1 2
  • 简介 测试 在软件开发中是一个很重要的方面,良好的测试可以在很大程度决定一个应用的命运。软件测试中,主要有3大种类...
    Whyn阅读 5,862评论 0 2