怎样使者两个用例使用同一个浏览器实例
时间: 2023-08-24 20:05:28 浏览: 92
Junit实例_一个Junit的实例_
要使两个测试用例使用同一个浏览器实例,可以使用pytest的fixture功能。在测试类中定义一个fixture方法,例如名为browser的方法,在该方法中初始化浏览器实例,并返回该实例。然后在需要使用浏览器的测试方法上使用@pytest.mark.usefixtures('browser')装饰器,将该测试方法与fixture方法关联起来。
下面是一个示例代码:
```python
import pytest
from selenium import webdriver
@pytest.fixture(scope="class")
def browser():
driver = webdriver.Chrome() # 初始化浏览器实例,此处以Chrome为例
yield driver # 返回浏览器实例
driver.quit() # 在所有测试用例执行完毕后,关闭浏览器
class Test_ceshi:
@pytest.mark.usefixtures('browser')
def test_login(self):
# 执行登录操作
@pytest.mark.usefixtures('browser')
def test_newproject(self):
# 执行创建项目操作
```
在上述示例中,使用@pytest.fixture(scope="class")装饰器定义了一个作用域为class的fixture方法browser。在该方法中,初始化了一个Chrome浏览器实例,并返回该实例。在测试方法test_login和test_newproject上分别使用了@pytest.mark.usefixtures('browser')装饰器,将这两个测试方法与fixture方法关联起来。这样,在执行这两个测试方法时,会先执行fixture方法,获取到同一个浏览器实例,并在所有测试用例执行完毕后关闭浏览器。
阅读全文