turgutsaricam/webdriver-tools

此包的最新版本(v0.3.0)没有提供许可证信息。

用于facebook/webdriver的通用类

v0.3.0 2021-08-16 07:40 UTC

This package is auto-updated.

Last update: 2024-09-16 14:09:37 UTC


README

此仓库包含在运行PHP的Selenium测试时,与facebook/webdriver一起工作时通常需要的通用类。

WebDriver包

此包需要facebook/webdriver。基本上,它应该用于Selenium测试。此包提供了一个AbstractDriverManager,用于处理在不同标签页中加载不同URL、如果URL已在标签页中加载则切换到该标签页、为每个URL添加参数以提示代码覆盖率(与CoverageHandler中解释的提示相同)、修改JavaScript变量window.ajaxurl(这是WordPress站点的默认变量)以启用AJAX请求的代码覆盖率、关闭过多的浏览器标签、设置驱动程序并登录到待测试网站、刷新、关闭、打开标签页等。

要使用此包,创建一个扩展AbstractDriverManager的类,实现所需的方法(或使用DefaultDriverManager)。AbstractDriverManager需要一个AbstractSetupStrategy来设置驱动程序并登录到网站。要提供策略,只需创建一个类并扩展它到AbstractSetupStrategy,并实现所需的方法。此包提供了WordPressSetupStrategy。如果您正在测试WordPress站点,可以直接使用它。

在您的测试中,不要直接使用webdriver,而是通过AbstractDriverManager执行每个驱动程序操作。否则,使用驱动程序管理器就毫无意义。

开发

要测试此项目,在其他项目的composer.json中包含它,使用本地仓库定义以下内容

{
  "repositories": [
        {
            "type": "path",
            "url": "path/to/local/directory/of/webdriver-tools",
            "options": {
                "symlink": false
            }
        }
    ],
}

之后,从那个其他项目的vendor目录中删除vendor/turgutsaricam/webdriver-tools目录,可选地将turgutsaricam/webdriver-tools的版本在composer.jsonrequire(-dev)项下设置为@dev,然后运行composer update turgutsaricam/webdriver-tools。这将把本地开发仓库中的文件复制到那个其他项目的vendor目录。通过这种方式,可以在提交更改到git之前测试更改。

待办事项

  • 编写测试