Python+Selenium+Pytest自动化框架

发表于:2022-11-17 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:喵说测试    来源:知乎

  pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。
  一、安装pytest
  pip install pytest
  二、界面运行
  pycharm中新建test.py文件。
  注意事项:否则pytest无法识别。
  文件名:必须以test开头或结尾
  类名:必须以 Test 为前缀
  函数: 必须以test前缀
  import pytest
  #创建类
  class Test1():
  #创建测试函数test1
      def testA(self):
          print("starting...")
  #创建测试函数test2
      def testB(self):
          print("ending....")
  #运行模块
  if __name__=='__main__':
      pytest.main(['-sv','test.py'])
  三、命令窗口运行
  cd到test.py文件夹目录:
  pytest test.py  #运行类中的所有函数
  pytest -v test.py  #显示每个测试函数的执行结果
  pytest -s test.py  #显示测试函数中print()的输出
  pytest -q test.py  #显示整体测试结果
  pytest test.py::Red::testA  #执行指定类中的指定函数
  pytest test.py::Red::testA,test.py::Red::testB  #执行指定类中的指定的多个函数
  pytest -k A test.py #执行函数名中包含关键字“A”的函数
  pytest -k "A or B" test.py  #执行函数中包含关键字"A"或"B"的函数
  输出报告:
  pip install pytest-html
  pytest test.py --html=report.html --self-contained-html
  执行结果及输出报告:
  四、参数化应用
  import pytest
  #创建类
  class Test1():
  #创建测试函数test1
      @pytest.mark.parametrize("user,passwd",[['zhangsna','222'],['lisi','444']])
      def test_A(self,user,passwd):
          print("starting...")
          print(user,passwd)
  #创建测试函数test2
      def test_B(self):
          print("ending....")
  #运行模块
  if __name__=='__main__':
      pytest.main(['-sv','test.py'])
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号