前言:其实这篇写的是pytest的测试框架运用,实现自动化和https://www.cnblogs.com/Jack-cx/p/9357658.html 原理一致

1.为啥不用unittest

Pytest相对Unittest更加灵活一点,unittest需要写类继承unittest.TestCase类,pytest不需要可写可不写类,也支持生成html测试报告

2.创建工程

&对比上面robot的工程,增加一个PyUnit目录和report,这里主要放单元测试框架其他实现思路一致,report放执行后生成的html报告

3.新建测试用例

&可以看出单元测试框架命名规则风格其实都是一致的,调用“底层“写的一个方法去读execel运行测试用例

4.pytest运行用例规则

&深入研究请百度,下面只让你能独立写一个自动化工程的目的

1.文件已 test_开头 test_*.py

2.类已Test_开头 class Test_login()

3.方法已test_开头 def test_login()

5.初始化和清理的方法使用

  • fixture函数可以使用在测试函数中,测试类中,测试文件中以及整个测试工程中。
  • fixture支持模块化,fixture可以相互嵌套
  • fixture支持参数化
  • fixture支持unittest类型的setup和teardown

1)模块级(setup_module/teardown_module)开始于模块始末:在所有测试用例开始执行setup_module和所有用例执行结束后执行teardown_module

2)类级(setup_class/teardown_class)开始于类的始末:在当前测试类的开始与结束执行

3)类里面的(setup/teardown)(运行在调用函数的前后)

4)功能级(setup_function/teardown_function)开始于功能函数始末(不在类中):用于每个测试用例开始执行时执行setup_function和在每个用例执行结束后执行teardown_function

5)方法级(setup_method/teardown_method)开始于方法始末(在类中):在每个测试方法开始与结束执行

 

&本次以UI自动化为例,只用到的setup_method每次用例执行先调用浏览器打开网址

细节可参考:https://www.cnblogs.com/ranxf/p/7766229.html讲的比较细

6.多种运行测试用例

&运行目录下所有测试用例

Dos下 到Pyunit下执行 py.test –html=需要生成的report路径

&运行执行某个py文件里的用例

Dos下 到Pyunit下执行 py.test  文件名.py –html=需要生成的report路径

&运行类里的某个方法

pytest -v test_a.py::TestClass::test_method

&运行指定的类中所有方法

pytest -v test_a.py::TestClass

&组合运行

pytest -v test_a.py::TestClass test_b.py:: test_method

7.断言

简单断言,用例执行完返回一个True或False assert==True,是True则通过,否则失败

最新文章

  1. Python学习--Python基础语法
  2. 反序列化问题的研究之java篇
  3. SVN中update to revision与revert to revision的区别
  4. HTTP学习笔记5-常用报头
  5. 在struts2的action中操作域对象(request、session)
  6. AlloyTouch.js 源码 学习笔记及原理说明
  7. Java经典编程题50道之二十二
  8. 可道云kodexplorer网盘未清理造成linux服务器爆满的解决方法
  9. 20175312 2018-2019-2 实验一《Java开发环境的熟悉》实验报告
  10. P1914 一串字母
  11. css position[转
  12. BootStrap中按钮点击后被禁用按钮的最佳实现方法
  13. 基于SSH RSA的信任关系
  14. 2018最新win10 安装tensorflow1.4(GPU/CPU)+cuda8.0+cudnn8.0-v6 + keras 安装CUDA失败 导入tensorflow失败报错问题解决
  15. QQ 聊天机器人小薇 2.1.0 发布!
  16. AWK的行循环控制
  17. 使用HttpClient进行Post通信
  18. python作业:HAproxy配置文件操作(第三周)
  19. P1988 最大数
  20. httpclient 3.1跳过https请求SSL的验证

热门文章

  1. PHP统计当前网站的访问人数,访问信息,被多少次访问。
  2. 『GoLang』面向对象
  3. 微服务+异步工作流+ Serverless,Netflix 决定弃用稳定运行 7 年的旧平台
  4. 腾讯混合云存储 TStor 系列再添新成员,并行存储一体机正式发布
  5. 在Vue中使用JSX,很easy的
  6. MyBatis 中两表关联查询MYSQL (14)
  7. scala基础篇 使用getter和setter方法而不使用public的情形
  8. keras框架下的深度学习(二)二分类和多分类问题
  9. Java:LinkedHashMap类小记
  10. 混合开发框架Flutter