本文目录一览
⊙^⊙Pytest-allure,为公司定制专属测试框架
Python安装:python.org/downloads
pycharm安装:http://www.jetbrains.com/pycharm/download
pytest安装:pipinstall-Upytest
所有模块文件名必须以test_*.py形式或*_test.py形式出现。
测试模块文件中,测试类以Test开头,不能有输入方法(注意:定义类必须以Test开头,否则pytest不会运行该类
在测试模块中,可以包含一个或多个以test_开头的函数
命令行操作:终端终端(Terminal、cmd、shell
中的pytest命令会跟随
根据命名规则使用可执行文件的原因
Python执行:执行py文件(通常)像这样运行
if__name__=='__main__':
pytest.main(['-s']
下载最新版本的Allure:https://github.com/allure-framework/allure2/releases
解压到非中文目录
然后设置环境变量:
添加诱饵/bin目录到变量路径
找到cmd和lure--version
安装插件lure-pytest-in
pipinstallallure-pytest
创建项目或包
创建脚本文件test-allure.py
转换运行方式为python运行
test-allure.py,会自动生成测试报告
打开测试报告
注释
ˇωˇPython自动化测试框架有哪些?
第一种:RobotFramework
RobotFramework作为python测试最重要的框架之一,主要应用于测试驱动的开发和验收。
虽然是用Python开发的,但它也可以在基于.net的Ironpython和基于Java的Jython上运行。
同时,Robot作为Python框架,还兼容Windows、MacOS和Linux等平台。
使用RobotFramework之前,需要安装python2.7.14及以上版本。
这里建议您使用python3.6.4,以确保可以在代码片段中添加适当的注释并跟踪程序更改,您还需要安装python包管理器--pip。
其他类型:Pytest
Pytest,适合各种软件测试,是另一种Python类型的自动化测试框架。
该工具具有开源、易学的特点,经常被QA小组、开发小组、个人小组以及各种开源项目使用。
鉴于Pytest的断言重写等实用功能,许多大型互联网应用程序,例如Dropbox和Mozilla,都从下面提到的单元测试转向了Pytest。
除了基础的Python知识外,用户不需要更多的技术储备。
此外,用户只需要拥有一个带有命令行界面的测试单元,并安装了python包管理器和IDE工具即可进行开发。
第三种:UnitTest/PyUnit
UnitTest/PyUnit,受到Junit的启发,也是一个用于单元测试的标准化Python类自动化测试框架。
TestCase基类提供各种断言方法,以及所有清理和设置例程。
因此,TestCase子类中的每个方法都用test作为名词来修饰,以标识它们可以作为测试用例运行。
用户可以使用load方法和TestSuite类来分组和加载不同的测试。
当然,它也可以一起使用来构建自定义测试运行器。
正如我们使用Junit来测试Selenium一样,UnitTest也会使用unittest-sml报告,并且可以生成各种XML类型的报告。
第四:Behave
行为驱动开发是一种基于敏捷软件开发的方法。
它鼓励开发人员、业务参与者和质量控制人员之间的协作。
Python测试框架Behave可以让团队避免各种复杂的情况并进行BDD测试。
本质上,该框架类似于SpecFlow和Cucumber,通常用于执行自动化测试。
用户可以用简单易读的语言编写测试用例,并在执行时将其粘贴到代码中。
此外,指定的行为规范和步骤也可以在其他测试计划中重复使用。
第五种:Lettuce
Lettuce是另一种基于Cucumber和python的行为驱动自动化工具。
Lettuce主要关注以行为驱动开发为特征的常见任务。
不仅简单易用,还让整个测试过程更加顺畅,更加有趣。
需要使用IDE安装python2.7.14及以上版本。
当然,你也可以使用pycharm或者其他IDE工具。
同时,还需要安装python包管理器。
o(╯□╰)opython测试框架:pytest如何实现数据传参
本文主要介绍pytest中传递参数的两种方法:
@pytest.mark.parametrize和@pytest.fixture
参数与参数值一一对应
只有一个参数接收数据
当有多个装饰时,参数会成倍增加。
request接收参数,indirect=True声明login为函数