在做自动化时,像一个登陆的事件,会有多个场景,则一个class下会写这样几条用例:
1. 用户名、密码正确
2. 用户名为空
3. 密码为空
...........
具体代码如下图:
login这样的话,执行test1时,会启动浏览器,然后运行完成后关闭浏览器;
同样,执行test2时,也会再次启动浏览器,然后运行完成后关闭浏览器。
这样就会有很多重复操作,怎么样实现运行test1、test2、test3用例,只启动一次浏览器,执行完所有用例后,关闭浏览器呢?
这就需要用到装饰器(@classmethod),如下:
一、装饰器
1. 用setUp与setUpClass区别
setup():每个测试case运行前运行
teardown():每个测试case运行完后执行
setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次
2. @是修饰符,classmethod是python里的类方法
下面用@classmethod 来实现只启动一次浏览器,执行完成后,关闭浏览器。
具体代码如下:
网友评论