灵魂拷问-为什么
为什么要用Testng
1.灵活的方法命名
2.方法支持灵活动态传参
@Parameters
测试方法添加任意参数,TestNG使用@Parameters注解向您传递正确的参数,参数在testng.xml文件中定义。
@Optional
指定默认参数值,
@DataProvider
数据驱动,复杂的参数对象,如果你想并发执行。
3.支持多种模式 xml 和注解
依赖
分组测试,有时候需要按照特定的顺序执行,添加组依赖或者方法依赖,dependsOnMethods dependsOnGroups
测试优先级
priority 数字越小,优先级越高
忽略测试
enable=false
多线程测试
第一种方式 通过xml配置,<suite parallel="classes" thread-count="10"></suite>
第二种方式 通过@Test属性值 threadPoolSize=5,invocationCount=10
监听器
IReporter ITestListener
为什么不使用工具,自己去写代码
框架是为解决一个或一类问题而开发的产品,用户一般只需要使用框架提供的类或函数,即可实现全部功能。它主要用于实现测试用例的组织和执行,以及测试结果的生成。
工具与框架所作的事情类似,只是工具会有更高的抽象逻辑,屏蔽了底层的代码,一般会提供单独的操作界面供用户操作。
简单的说,就是框架通常代码比较完整,但是相对应的上手难度和搭建流程较为复杂。
优缺点:接口数量较多,接口协议不同,问题定位方便。不易上手,编码能力要求高。
而工具则是对应某个或某些功能,打包好底层代码,通过界面进行操作,当然复杂操作还是需要脚本。
优缺点:通过工具类实现自动化会比代码简单,易上手,适合测试时间短,成本低的情况。工具自动化具有局限性,无法实现复杂的接口自动化(加密接口,签名接口)