selenium pytest参数化
时间: 2024-01-11 07:22:42 浏览: 32
使用Selenium和Pytest框架进行参数化测试可以通过`@pytest.mark.parametrize`注解来实现。下面是一个演示示例:
```python
import pytest
from selenium import webdriver
# 定义测试数据
data = [
("username1", "password1"),
("username2", "password2"),
("username3", "password3")
]
# 定义测试方法
def test_login(username, password):
driver = webdriver.Chrome()
driver.get("https://www.example.com/login")
# 执行登录操作
driver.find_element_by_id("username").send_keys(username)
driver.find_element_by_id("password").send_keys(password)
driver.find_element_by_id("login-button").click()
# 验证登录结果
assert driver.current_url == "https://www.example.com/home"
driver.quit()
# 使用参数化注解进行测试
@pytest.mark.parametrize("username, password", data)
def test_login_parametrize(username, password):
test_login(username, password)
```
在上面的示例中,`data`列表包含了多组用户名和密码的测试数据。`test_login`方法用于执行登录操作,并验证登录结果。`@pytest.mark.parametrize`注解将`data`列表中的数据作为参数传递给`test_login_parametrize`方法,从而实现参数化测试。