python自动化测试框架

时间:2022-04-29 18:26:23

一.环境准备

  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>: 运行通过marked的用例,-m 标记的名字
  • @pytest.mark.xfail: Xfail标记的测试将会执行,但是不会被记入失败或成功中,如果失败了,也不会有任何追踪的信息
  • @pytest.mark.skip: Skip 则意味着直接跳过,不会执行

四.并行运行测试

  • 安装插件pytest-xdist ,运行命令安装:pip install pytest-xdist
  • 然后直接运行pytest -n 4即可,-n <num> 表示运用多核,充分利用资源

五.命令行 python自动化测试框架

六.生成HTML报告

  • 首先安装插件:pip install pytest-html
  • 运行命令:py.test -v -s --html=reportName.html
  • 你将会在文件目录下生成reportName.html,用浏览器打开
  • 上面生成的报告,css是独立的,分享报告的时候样式会丢失,为了更好的分享发邮件展示报告,可以把css样式合并到html里

    $ pytest --html=report.html --self-contained-html

七. 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***