python UI自动化8- 实现执行class下多个用例,只启动/关闭一次浏览器

在做自动化时,像一个登陆的事件,会有多个场景,则一个class下会写这样几条用例:

1. 用户名、密码正确

2. 用户名为空

3. 密码为空

...........

具体代码如下图:

python UI自动化8- 实现执行class下多个用例,只启动/关闭一次浏览器_第1张图片
login

这样的话,执行test1时,会启动浏览器,然后运行完成后关闭浏览器;

同样,执行test2时,也会再次启动浏览器,然后运行完成后关闭浏览器。

这样就会有很多重复操作,怎么样实现运行test1、test2、test3用例,只启动一次浏览器,执行完所有用例后,关闭浏览器呢?

这就需要用到装饰器(@classmethod),如下:

一、装饰器

1. 用setUp与setUpClass区别

setup():每个测试case运行前运行

teardown():每个测试case运行完后执行

setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次

tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次

2. @是修饰符,classmethod是python里的类方法

下面用@classmethod 来实现只启动一次浏览器,执行完成后,关闭浏览器。

具体代码如下:

python UI自动化8- 实现执行class下多个用例,只启动/关闭一次浏览器_第2张图片

你可能感兴趣的:(python UI自动化8- 实现执行class下多个用例,只启动/关闭一次浏览器)