pytest插件,允许您自动化操作和断言,并使用测试度量报告执行纯yaml文件
pytest-pla的Python项目详细描述
pytest播放
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只用于提高可用性。