kfts / grunt-selenium-webdriver
在第三方环境中启动和停止 selenium 的实用工具。
This package is not auto-updated.
Last update: 2024-09-14 18:42:11 UTC
README
在 webdriver 或 hub 模式下启动和停止 selenium,与第三方 CI 平台兼容
我们编写这个插件是在遇到在所有本地和第三方环境中运行 selenium webdriver 测试的广泛问题时。如果你使用 circleci 并且想要运行无头测试,那么 selenium_phantom_hub 任务可以解决问题。
请注意,我们发现 selenium 和捆绑的 chromedriver 存在问题,但在当前时间,我们没有以与 phantomjs 相同的方式启动 chromedriver 的选项。我们的建议是使用 firefox 和 phantom 进行 CI 测试,而使用 saucelabs 和本地进行其他测试。
入门指南
此插件需要 Grunt ~0.4.2
如果你之前没有使用过 Grunt,请确保查看 入门指南,因为它解释了如何创建 Gruntfile,以及如何安装和使用 Grunt 插件。一旦熟悉这个过程,你可以使用以下命令安装此插件
npm install grunt-selenium-webdriver --save-dev
一旦安装了插件,就可以在 Gruntfile 中使用以下 JavaScript 代码启用它
grunt.loadNpmTasks('grunt-selenium-webdriver');
"selenium_webdriver" 任务
添加了三个任务(selenium_start,selenium_stop 和 selenium_phantom_hub)。任务不要求或设置任何选项
概述
grunt.loadNpmTasks('grunt-selenium-webdriver'); grunt.registerTask('e2e', [ 'selenium_phantom_hub', 'mocha_e2e', 'selenium_stop' ]);
选项
你可以设置各种 selenium 命令行选项。一些环境已经在 4444 上运行了一个实例,在这种情况下,请在你的 grunt 配置中设置端口号
selenium_start: { local: { options: { port: 4445 } } },
你可以在我们的测试中看到我们这样做了,请查看我们的 GruntFile 设置。选项包括
- host
- port
- timeout
- maxSession
- phantomPort
- firefoxProfile
- displaySeleniumLog
使用示例
此任务旨在与你的首选测试运行器一起使用。当 grunt 退出时,服务器将被销毁,因此 grunt start_selenium 只会将服务器提供给其他 grunt 任务。如果你需要一个持久化 selenium 服务器的任务,请尝试 grunt-selenium-standalone。
如果你查看插件,你可以看到一个使用原始 selenium-webdriver node 模块的 mocha 测试示例。该项目还与 protractor 兼容。
selenium_start
在 http://127.0.0.1:4444/wd/hub 上启动 selenium 本地服务器,PATH 中包含所有浏览器,包括 phantom。然而,如果你在使用默认的 phantomjs 进行测试运行时遇到错误,请尝试下面的任务。
selenium_phantom_hub
启动 selenium 集群 hub 并将 phantomjs 连接到它,用于无头测试,此配置中只有一个客户端可用
selenium_stop
停止启动的服务器,如果你需要从无头模式更改为正常模式,则需要先停止
有问题吗?
此项目的理由是不同环境中文件位置的不一致性。如果你遇到问题
cd node_modules/grunt-selenium-webdriver
npm install
grunt test --trace
这应该会给你一些关于你的系统和相对路径等信息。在任务文件中还有一些注释掉的额外控制台语句,你可以启用它们。如果你无法从这里解决问题,请将此信息连同任何平台详细信息(例如 AWS、Travis 等)一起发送给我们。
贡献
请修复你发现的任何错误,并添加任何未涵盖的新案例,我们感激地接受拉取请求。
虽然没有正式的风格指南,但请务必维护现有的编码风格。为任何新功能或变更功能添加单元测试。使用 Grunt 检查您的代码并测试。
版本历史
0.2.432 support for node 0.12
0.2.422 phantomPort option added
0.2.421 added some mocha tests + improved branching logic separated for phantom and selenium components
0.2.420 release using selenium-server-standalone-2.42.2.jar
0.2.391 initial release using selenium-server-standalone-2.39.0.jar
0.2.392 will have theses documentation updates
0.2.450 release using selenium-server-standalone-2.45.0.jar
0.2.451 adds --ignore-ssl-errors to phantomjs startup
0.2.461 release using selenium-server-standalone-2.47.1.jar
0.2.482 release using selenium-server-standalone-2.48.2.jar
0.2.501 release using selenium-server-standalone-2.50.1.jar
0.2.530 release using selenium-server-standalone-2.53.0.jar
0.2.531 added firefoxProfile and displaySeleniumLog options