自己组织web自动化测试框架的一点点经验

1.在使用testng.xml进行多个测试case的测试时,同个suite下可以有多个test,每个test下包含多个class,每个class下包含多个method。。看具体的测试流程怎么实现

class在命名时最好是按照ascii码来

testng.xml

preserve-order="true"用来控制<test></test>下的执行顺序是按照classes的名字的ascii顺序执行还是按照排列的顺序执行。为true时是按照顺序执行,默认为false是按照类名的ascii顺序执行(也可以控制class下的method执行顺序)

parallel是用来控制并发的,与thread-count配合使用

parallel="classes"每个类运行在不同的线程中,在同一个类的线程中运行该类下的所有方法

parallel="methods"在不同的线程中运行测试方法,除非互相依赖的方法。相互依赖的方法会运行在同一个线程中,并且遵照其运行顺序

parallel="tests"在相同的线程中运行相同<test>标记下的所有方法,但是每个<test>下的方法会运行在不同的线程下

thread-count="3"同时运行的线程数

2.单个类都会写BeforeXXX、 AfterXXX的方法,在使用testng.xml进行测试时会把所有类的Before和After先调用,查看各个BeforeXXX的优先级别。如果有个比较后面运行的类中有BeforeTest,但是其他类只有BeforeMethod,根据BeforeTest比BeforeMethod先运行的原则,会先运行BeforeTest,再根据执行顺序运行类。

3.数据驱动循环执行同个代码的时候,会出现找不到元素的情况,是因为selenium找到元素时只能被一次运行,第二次要使用时必须重新定位一次。在循环体外和循环体内都要定位一次要使用的元素。

循环时要找好退出的点--这个很关键。陷在循环里出不来啦(┬_┬)

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

推荐阅读更多精彩内容