pytest 如何批量执行用例
时间: 2023-09-13 21:05:47 浏览: 270
pytest 可以通过指定目录或文件名来批量执行用例。具体的做法是:
1. 在终端中进入到测试用例所在的目录,或者直接指定测试用例文件。
2. 执行如下命令:
```
pytest [options] [dir_or_file]
```
其中,`[options]` 是 pytest 的参数选项,可以用来指定测试报告的输出格式、测试用例的筛选规则、并发执行的进程数等等。
`[dir_or_file]` 表示测试用例所在的目录或者测试用例文件名。
例如,如果测试用例文件名为 `test_sample.py`,则可以执行如下命令:
```
pytest test_sample.py
```
如果测试用例分散在多个文件中,可以执行如下命令:
```
pytest test_dir/
```
其中 `test_dir/` 表示测试用例所在的目录。这样,pytest 就会递归查找该目录下的所有测试用例并执行。
相关问题
在pytest框架下实现电子商城登录测试,并批量执行用户名密码测试用例
首先,需要安装pytest框架和selenium库。
然后,创建一个测试用例文件`test_login.py`,在文件中编写登录测试用例。可以使用pytest的fixture机制来封装登录操作,使得测试用例调用方便。
```python
import pytest
from selenium import webdriver
@pytest.fixture(scope="module")
def driver():
driver = webdriver.Chrome()
yield driver
driver.quit()
@pytest.fixture(scope="module")
def login(driver):
driver.get("http://example.com/login")
# 执行登录操作
yield
# 执行退出操作
def test_login_success(driver, login):
# 测试用例:正确的用户名和密码可以成功登录
username = "user1"
password = "password1"
# 输入用户名和密码
# ...
# 点击登录按钮
# ...
# 断言是否成功登录
# ...
def test_login_wrong_password(driver, login):
# 测试用例:错误的密码不能成功登录
username = "user2"
password = "wrong_password"
# 输入用户名和密码
# ...
# 点击登录按钮
# ...
# 断言是否提示密码错误
# ...
def test_login_wrong_username(driver, login):
# 测试用例:错误的用户名不能成功登录
username = "wrong_username"
password = "password3"
# 输入用户名和密码
# ...
# 点击登录按钮
# ...
# 断言是否提示用户名不存在
# ...
# 更多测试用例...
```
最后,可以使用pytest的参数化机制来批量执行用户名密码测试用例。可以创建一个数据文件`test_data.csv`,将用户名密码等测试数据存储在其中。
```csv
username,password
user1,password1
user2,wrong_password
wrong_username,password3
# 更多测试数据...
```
在测试用例文件中,使用pytest.mark.parametrize装饰器来指定参数化的参数,并将测试数据读取出来。
```python
import csv
import pytest
@pytest.mark.parametrize("username,password", csv.reader(open("test_data.csv")))
def test_login(driver, login, username, password):
# 输入用户名和密码
# ...
# 点击登录按钮
# ...
# 断言是否成功登录或者提示登录失败的错误信息
# ...
```
最后,运行`pytest`命令即可执行所有测试用例。在运行时,pytest会自动加载所有以`test_`开头的函数作为测试用例,同时也会执行参数化测试用例。
pytest框架如何批量运行.air的脚本
Pytest框架可以通过编写一个pytest的配置文件来批量运行.air的脚本。具体步骤如下:
1. 在项目根目录下创建一个pytest.ini文件。
2. 在pytest.ini文件中添加以下内容:
```
[pytest]
addopts = --capture=no --airtest-root=<Airtest项目根目录>
testpaths = <Airtest脚本存放的目录>
```
其中,--airtest-root参数指定Airtest项目的根目录,testpaths参数指定Airtest脚本存放的目录。
3. 在命令行中进入项目根目录,执行以下命令:
```
pytest
```
这样就可以批量运行.air的脚本了。pytest会自动搜索指定目录下的所有.air文件,并执行其中的测试用例。
阅读全文