jugid / auto-mate
通过 YAML 文件实现自动化
Requires
- lezhnev74/pasvl: ^1.0
- php-webdriver/webdriver: ^1.10
- symfony/config: ^5.2
- symfony/console: ^5.2
- symfony/yaml: ^5.2
Requires (Dev)
- phpstan/phpstan: ^0.12.75
- phpunit/phpunit: ^9
README
AutoMate - Yaml 自动化库
版本 0.9.0 查看变更日志 Changelogs
您可以在 Wiki 获取帮助
README 摘要
为什么选择 AutoMate ?
在工作中,我们需要进行大量的管理操作。已经有一个适用于此类操作的家用框架,它运行良好。问题是开发新场景需要花费很长时间。使用 AutoMate,我尝试减少这种浪费的时间。
使用 AutoMate 您可以
- 创建多个 场景,每个场景包含多个 命令
- 在不同的浏览器上运行它们
- 配置它以满足您的需求
- 将 数据注入到您的场景中,以使用场景中的 变量 并为每个数据集重复场景
- 从文件中获取 日志 以了解场景失败/成功时使用了哪些数据
- 在控制台上有步骤描述
- 通过 事件系统 添加您自己的命令和插件
- 使用 逻辑 使用您的业务逻辑
- 您可以使用 Launcher 类进行简单的测试和报告。
入门指南
安装
➡️ 使用 composer 安装 AutoMate
composer require jugid/auto-mate
➡️ 获取 WebDriver
- Chromedriver : Chrome
- Geckodriver : Firefox
- 有关 Safari 驱动程序的说明,请参阅 Apple 文档
➡️ Selenium Grid
您可以使用 Selenium Grid。请参阅 Selenium Grid 和 Selenium Grid 4 下载
如果您这样做,请发送带有示例和快速指南的 PR。
使用方法
要使用 AutoMate,您首先需要
- 创建您的 yaml 配置文件
- 使用 yaml 创建您的场景文件
- 创建与场景对应的文件夹
- 可能还需要创建一个规范 csv 文件
- 运行 AutoMate
➡️ 创建您的 yaml 配置文件
您的配置文件应类似于 这个。您必须优先使用绝对路径。
➡️ 使用 yaml 创建您的场景文件
场景是一系列由 AutoMate 执行的步骤。您还可以声明变量和用于此特定场景的浏览器。您可以在 这里 找到示例
您的场景需要命名为
main.yaml
并保存在scenario_folder/scenario_name/
➡️ 创建与场景对应的文件夹
现在您需要创建一些与您刚刚创建的场景相对应的文件夹。
- logs_folder/scenario_name/ :用于详细记录结果
- specs_folder/scenario_name/ :用于在场景规范变量范围内加载数据
➡️ 创建您的规范文件
规范是csv文件,为AutoMate提供数据。它将针对每一行执行场景,并将数据加载到规范变量范围内。
您的规范文件需要保存到specs_folder/scenario_name/my_spec.csv。
您的规范需要包含标题。否则,您的变量名称将是第一行的数据。
您可以创建任意数量的规范。如果AutoMate未以测试模式运行,当场景运行结束时,规范将重命名为带有后缀
_PROCESSED
的名称。如果规范名称中包含_PROCESSED
,则无法检测到该规范。
➡️ 运行AutoMate
要运行AutoMate,您可以使用定义为
php bin/automate run --scenario=scenario --config=/../config.yaml [--browser=NAME] [--headless] [--server=HTTP_ADRESSE] [--testMode] [--specMode]
或更简短的命令
php bin/automate run -s scenario -c /../config.yaml [-b NAME] [-h] [-a HTTP_ADRESSE] [-t] [-m]
您也可以使用更PHP的方式,如以下示例中所示 在此
可视化
这就是AutoMate的外观
支持
如果网站有机器人控制,则无法使用AutoMate。如果您找到一个技巧,请发送PR。
首先,您可以在 Wiki 上找到帮助。然后,如果您找不到所需的内容,您可以联系我们。
路线图
查看 变更日志 获取更多信息
- 告诉我们您的想法!您可以直接发送PR或打开一个问题
将不会实现
- 用于处理表的特定命令
贡献
我们很高兴得到您的帮助,使AutoMate更好。有关贡献和开发AutoMate的更多信息,请参阅 CONTRIBUTING.md
许可
AutoMate采用MIT许可。您可以在 许可文件 中找到许可证。
感谢
- php-webdriver 为此惊人的PHP绑定解决方案
- PASVL 由Lezhnev74提供,用于此带有模式的数组验证,有助于
- Symfony配置组件
- Badge poser 提供一个助手,用于用优秀的徽章美化README
如果您喜欢AutoMate,请不要犹豫告诉我们您有多爱它,如果可能的话,贡献。