前言:

笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁、方便很多。不过在使用unittest的前后置条件时,已经觉得在和每个测试用例里面重复写一样的前后置代码相比,unittest的前后置同样也简洁、方便很多。

unittest的前后置设置:分为类的前后置和每条测试用例的前后置

类的前置条件:

  • setUpClass:主要用于启动浏览器驱动和设置浏览器窗口最大化,和加上打开的url,完成web自动化的前置
  • tearDownClass:主要用于关闭浏览器回话

每个测试用例的前置条件:

  • setUp\tearDown:可根据自身的业务逻辑去编写
 1    #整个测试类的前置条件(主要用于启动浏览器驱动和设置浏览器窗口为最大化及打开url)
2 @classmethod
3 def setUpClass(cls):
4 # 启动浏览器驱动
5 cls.driver = webdriver.Chrome()
6 # 最大化显示窗口
7 cls.driver.maximize_window()
8 # 输入url打开
9 cls.driver.get(cd.login_url)
10 print("开始测试")
11
12 #每次执行用例的前置条件
13 def setUp(self):
14 self.lp = LoginPage(self.driver)
15
16 #每次执行用例的后置条件
17 def tearDown(self):
18 #每条用例执行后,刷新当前页面
19 self.driver.get(cd.login_url)
20
21 #整个测试类的后置条件(主要用于结束后,关闭浏览器回话)
22 @classmethod
23 def tearDownClass(cls):
24 cls.driver.quit()
25 print("测试结束")

pytest的前后置:fixture(主要讲fixture)

fixture的前后置写在conftest.py文件里面,conftest无需导入,放在测试类一层里面即可。在编写一个测试前后置方法,用yield来区分前后置。


@pytest.fixture(scope="function")
def start_app():
driver = init_cps()
# 真机确认访问权限
bl(driver).get_permission()
# 滑屏操作
BP(driver).cross_screen(times=3, loc=ll.now_start)
# yield 之前的是前置条件,yield后面的为后置条件
yield driver

最新文章

  1. Android动画效果之Property Animation进阶(属性动画)
  2. c语言-交换两个整数
  3. PHPwind高级伪静态规则及方法
  4. [LoadRunner]录制启动时报“The JVM could not be started……”错误解决方案
  5. c# windows service
  6. jquery动态样式操作
  7. 怎样在Android SDK 下查看应用程序输出日志的方法
  8. 解决在管理wordpress时权限不足的问题
  9. Android list刷新后仍然定位到原来的位置,解决。
  10. tty、pty、pts等(小记)
  11. c语言:蜗牛的爬行。
  12. C++小知识之sprintf用法
  13. 高仿快车100--实战RadioGroup和RadioButton应用
  14. tensorflow-RNN和LSTM
  15. HDU - 4625 JZPTREE(第二类斯特林数+树DP)
  16. debian9 开启rc.local服务
  17. DTO转DOMAIN动态转换类。
  18. 560. Subarray Sum Equals K
  19. 02-03:springboot 整合listener
  20. QT中 使用c++调用python

热门文章

  1. MySQL(5):安装MySQL
  2. 收集linux网络配置信息的shell脚本
  3. Socket通信和多线程的总结
  4. drone使用git tag作为镜像tag
  5. inode节点
  6. MySQL信息系统函数
  7. vue-cli3 vue2 保留 webpack 支持 vite 成功实践
  8. re正则表达式:import re ;re.search()
  9. redis pipeset发布订阅
  10. 七层LB-NGINX 客户端获取协议Proxy Protocol介绍