一.环境准备
1.python开发环境, python3.7
2.setuptools基础工具包
3.pip安装包管理工具
4.selenium自动化测试工具 chrom驱动下载地址: http://npm.taobao.org/mirrors/chromedriver/
5.pytest自动化测试框架
二.pytest用法
1.命名规则
- 测试文件应该命名为test_.py或_test.py
- 测试方法和函数应该被命名为test_。
- 测试类应该被命名为Test_
2.结果类型
- PASSED (.):测试成功。
- FAILED (F):测试失败(或XPASS + strict)。
- SKIPPED (s): 测试被跳过。 你可以使用@pytest.mark.skip()或 pytest.mark.skipif()修饰器告诉pytest跳过测试
- xfail (x):预期测试失败。@pytest.mark.xfail()
- XPASS (X):测试不应该通过。
- ERROR (E):错误
3.执行方法
- pytest test/: 执行test目录下所有文件
- pytest.main(['-s','-v']): 写在代码中执行测试用例,默认执行当前目录及子目录下的所有文件,可以指定执行文件
- py.test -x : 首次失败后停止执行
- py.test --maxfail=2 : 两次失败之后停止执行
py.test -k answer1 -v: 运行所有名字中含有的
answer1
的方法
,
-k 用来匹配名字中包含表达式的方法, -v 增加显示详细信息py.test -m <name>: 运行通过
-m 标记的名字marked
的用例,- @pytest.mark.xfail: Xfail标记的测试将会执行,但是不会被记入失败或成功中,如果失败了,也不会有任何追踪的信息
- @pytest.mark.skip: Skip 则意味着直接跳过,不会执行
四.并行运行测试
- 安装插件pytest-xdist ,运行命令安装:pip install pytest-xdist
- 然后直接运行pytest -n 4即可,-n <num> 表示运用多核,充分利用资源
五.命令行
六.生成HTML报告
- 首先安装插件:
pip install pytest-html
- 运行命令:
py.test -v -s --html=reportName.html
- 你将会在文件目录下生成
reportName.html
,用浏览器打开 -
上面生成的报告,css是独立的,分享报告的时候样式会丢失,为了更好的分享发邮件展示报告,可以把css样式合并到html里
$ pytest --html=report.html --self-contained-html
- 在python中执行命令 :
pytest.main(['--html=./report.html', 'test_testing_topic.py'])
七. pytest中setup和teardown用法简介:
- 模块级(setup_module/teardown_module)开始于模块始末,全局的
- 函数级(setup_function/teardown_function)只对函数用例生效(不在类中)
- 类级(setup_class/teardown_class)只在类中前后运行一次(在类中)
- 方法级(setup_method/teardown_method)开始于方法始末(在类中)
- 类里面的(setup/teardown)运行在调用方法的前后
- pytest.fixture():作用于模块内的所有用例,但需要传递装饰函数为参数,可置于class内或class外
八.django框架开发
1.地址:http://127.0.0.1:8000/admin/
2.创建用户: python manage.py createsuperuser 用户名和密码都是:wang***