pytest安装 与 基本操作
一、安装
直接执行 如下命令即可安装 pytest
pip install pytest
我们还需要产生测试报表,所以要安装一个第三方插件 pytest-html ,执行如下命令安装
pip install pytest-html
-======================================================================-
二、用例写法格式
首先,我们编写的测试用例代码文件, 必须以 test_ 开头,或者以 _test 结尾
比如,我们创建一个 文件名为 test_错误登录.py ,放在目录 autotest\cases\登录 下面。
其中 autotest 是 我们创建的 自动化项目根目录
内容如下
class Test_错误密码:
def test_C001001(self):
print('\n用例C001001')
assert 1 == 1
def test_C001002(self):
print('\n用例C001002')
assert 2 == 2
def test_C001003(self):
print('\n用例C001003')
assert 3 == 2
如果我们把测试用例存放在类中, 类名必须以 Test 为前缀的 类 ,用例对应的方法必须以 test 为前缀的方法。
-======================================================================-
三、断言
pytest 中用例的检查点 直接用 Python 的 assert 断言。
assert 后面的表达式结果 为 True ,就是 检查点 通过,结果为False ,就是检查点 不通过。
-======================================================================-
四、运行测试
1.执行测试非常简单,打开命令行窗口,进入自动化项目根目录(我们这里就是 autotest),执行命令程序 pytest 即可
如,pytest cases(运行cases目录下的测试用例)
2.如果我们希望 显示测试代码中print的内容,因为这些打印语句在调试代码时很有用,可以加上命令行参数 -s
如下
pytest -s
如果我们希望得到更详细的执行信息,包括每个测试类、测试函数的名字,可以加上参数 -v,这个参数可以和 -s 合并为 -sv
如下
pytest -sv
-======================================================================-
五、生成测试报告
1.要产生报告,在命令行加上 参数 --html=report.html --self-contained-html ,如下
pytest cases --html=report.html --self-contained-html
这样就会产生名为 report.html 的测试报告文件,可以在浏览器中打开
2.但是这个工具有个bug,导致测试目录、文件、类名 中,如果有中文,显示为乱码
可以这样修复:
打开该插件对应的代码文件,通常在解释器目录下:site-packages\pytest_html\plugin.py
找到如下代码
class TestResult:
def init(self, outcome, report, logfile, config):
self.test_id = report.nodeid.encode(“utf-8”).decode(“unicode_escape”)
改为
class TestResult:
def init(self, outcome, report, logfile, config):
# 白月黑羽修改方法,解决乱码问题
# self.test_id = report.nodeid.encode(“utf-8”).decode(“unicode_escape”)
self.test_id = report.nodeid
然后再次运行,就可以发现中文乱码问题已经解决了。
上一篇: 详解Python中类的定义与使用