1、pytest介绍
pytest是一个非常成熟的自动化测试框架。
pytest主要features如下:
- 容易学习
- 支持简单的单元测试和复杂的功能测试
- 具有大量第三方插件:pytest-html(html格式测试报告生成)
2、pytest使用
2.0 -U功能
pip install -h
NOTE:upgrade首字母,表示升级更新。(若已安装则更新到最新版本)?
2.1 安装测试html测试报告插件
pip install -U pytest-html
2.1.1 生成html测试报告
pytest --html=report.html
report.html报告内容:
2.2 pytest测试案例如何写
测试案例需要满足一定条件,如下所示:
- 测试文件以test_开始(或以_test结尾)
- 测试类以Test开始且不能包含init方法
- 测试函数以test_开始
- 断言使用基本assert
2.3 pytest运行模式
命令行中运行pytest,会找当前路径及子目录下的所有test_*.py及*_test.py的文件及所有Test*类和test_*方法。
2.3.1 测试所有case
源代码:
import os
import sys
CUR_DIR = sys.path[0]
#COMMAND_ARG_1 = sys.argv[1]
COMMAND_ARG_1 = ""
def sum(var1, var2):
return var1+var2
def test_sum():
print(" test_sum..")
print("the sum is : ", sum(2,3))
def test_print():
print("test_print...")
def fileExists(fileDir):
result = False
try:
os.path.exists(fileDir)
except:
print(fileDir,":does not exist...")
raise
else:
print(fileDir,": exists...")
result = os.path.exists(fileDir)
finally:
print("done...")
return result
def main():
print("This is main function...")
if fileExists(os.path.join(CUR_DIR, COMMAND_ARG_1)):
print("-_- -_- -_- ")
else:
print("/_\\ /_\\ /_\\ ")
if __name__ == "__main__":
main()
2.3.2 测试指定case
2.3.3 多进程运行cases
安装plugin pytest-xdist?
pip install -U pytest-xdist
2.3.4 重试运行cases
安装plugin pytest-rerunfailures
pip install -U pytest-rerunfailures?
2.3.5 显示print内容(带上参数-s)
NOTE:pytest多种运行模式可以叠加。
?2.4 pytest-selenium
安装插件pytest-selenium
pip install pytest-selenium
NOTE:御用网页测试。(webdriver)
|