pytest插件,允许您自动化操作和断言,并使用测试度量报告执行纯yaml文件

pytest-pla的Python项目详细描述


pytest播放

查看travis ci的生成状态documentation statushttps://codecov.io/gh/pytest-dev/pytest-play/branch/master/graph/badge.svg

pytest play是一个无代码、通用、可插入和可扩展的自动化工具, 不一定只有基于神奇的pytest框架的测试自动化 它允许您定义和执行包含脚本或测试场景的文件 通过可由非技术用户实施和管理的操作和断言:

  • 自动化(不一定是测试自动化)。您可以在单个文件上构建一组操作(例如, 调用基于json的api端点,如果条件匹配则执行操作)或测试自动化 有许多测试方案的项目。

    例如,您可以根据需要创建总是最新的测试数据支持 手动测试活动、构建实时模拟器等

  • 无码,或更好的几乎无码。如果您必须针对操作结果或某些 条件表达式您需要非常基本的python或javascript表达式知识 具有平滑的学习曲线(类似于 变量['foo'] ='bar'

  • 通用。它不再是另一个仅用于浏览器自动化、仅用于api等的自动化工具。 您可以驱动浏览器、执行一些api调用、进行数据库查询和/或进行断言 对不同的技术使用相同的工具

    所以有很多免费或不免费的测试框架或自动化工具 它们只满足一个单一的区域测试需求,而且不可扩展:仅限于api测试, 只进行ui测试等等。如果你在测试一个网络 只有像CMS这样的应用程序,但如果你正在处理一个反应式物联网应用程序,你可能会有更多的东西, 对不同的系统进行交叉操作或交叉检查,或在其上构建更复杂的东西 pytest播放

  • 很强大。它不再是另一个测试自动化工具,它只扩展了pytest框架 使用另一个范型并继承了许多好的东西(测试实现分离的测试数据 由于本机参数化,您可以编写一次并多次执行相同的场景。 支持、报告、与测试管理工具的集成、许多有用的命令行选项、浏览器和 远程硒电网集成等)

  • 可插拔和可扩展。假设您需要与pytest play尚未支持的系统交互 插件,你可以自己写或者付钱给别人。另外还有一个脚手架工具 让您实现自己的命令: https://github.com/davidemoro/cookiecutter play plugin

  • 使用方便。为什么是YAML?易于阅读,易于编写,简单标准的语法,易于验证和 没有括号地狱。尽管没有用于浏览器交互或api调用的录制工具(还没有),但是 基于非常常见模式的文档使您可以轻松地逐个命令复制、粘贴和编辑

  • 免费软件。这是一个基于大型友好的pytest社区的开源项目。

  • 易于安装。唯一的先决条件是Docker,这要归功于Docker Hub容器。 或者更好的是,对于docker,不需要安装:您只需要键入以下命令 docker在项目文件夹中运行 -i --rm -v $(pwd):/src davidemoro/pytest play 。 请参见 https://hub.docker.com/r/davidemoro/pytest play

请参见页面底部扩展pytest play的第三方插件

  • 第三方Pytest Play Plugins第三方Pytest Play Plugins第三方Pytest Play Plugins

工作原理

根据您的需要和技能,您可以选择以编程方式使用pytest play 编写一些python代码或采用无python的方法。

如前所述,使用pytest play可以创建无代码脚本或测试场景 没有或很少了解python:一个文件 test-xxx.yml (例如, test-something.yml , 其中, 测试 .yml 事项)将自动识别和执行,而不必 触摸任何模块。

您可以使用 pytest test_xxx.yml 运行单个场景,或者运行整个套件筛选 按姓名或关键字标记。

尽管pytest play天生就支持json格式,但它仍支持2.0版本。 yaml只用于提高可用性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从数组中打印int值?   prepared语句Java中奇怪的异常PreparedStatement:参数索引超出范围   封装如何在OOP Java中为主方法编码?   java某些手机显示快捷方式徽章需要什么权限?   java TextView不会随OnItemSelectedListener更改   java注释处理器不会自动触发吗?   java Spring JPA如何计算外键数   c#对于这个简单的OOAD问题,哪种设计最优雅?   java如何处理while循环中的异常?   Android Studio错误:进程'command'/home/draven/Downloads/安卓studio/jre/bin/java''结束,退出值为非零2   在使用Payara服务器的Vaadin应用程序中导航到根目录时,java将丢失上下文根目录   使用contentType application/json而不是application/jsonpatch+json的java修补程序   带有tomcat的java HAproxy连接不足   Java:在应用过滤器后创建一个简单的通用方法进行计数   java如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?