我正在尝试为一些遗留的PHP和JavaScript应用程序设置一个新的测试结构,使用Codecill1.8和Selenium。如果有人不知道http://codeception.com/,它有几个运行测试的选项,其中包括内置的PHPUnit,但基本上是PHPUnit的增强版本。它有运行单元、功能测试和验收测试的套件。
我遵循了“快速启动”(http://codeception.com/quickstart)中的说明,并且使用PHP成功地运行了一个超级简单的验收测试。我遇到的问题是,当我试图更改YAML文件,该文件配置了这些测试的运行方式--我想停止使用PHPBrowser,切换到Selenium,这样我就可以编写涉及DOM和JS的端到端的测试了。
一开始,我在让chromedriver工作时遇到了问题--实际上,我从来没有这样做过,而且我无法升级我的code版本,因为我正在使用的代码库在PHP版本中很难设置: 5.3.29。但是,我发现这里有一个单独的服务器安装了PhantomJS。
这一点很重要,因为我无法在运行selenium JAR的机器(文件服务器1)上访问sudo安装,也无法访问安装了PhantomJS的机器(webserver 1)。所以我不能自己安装火狐驱动程序或者其他的网络驱动程序。
我的问题是:是否有一种方法可以在另一台计算机上托管时使用WebDriver运行我的硒测试?是否有一种方法可以在远程计算机上使用WebDriver来运行Selenium,还是WebDriver和Selenium JAR必须在同一台机器上?
另外还要注意的是,这两台服务器都位于同一个主域--它们是fileserver1.domain.com
和webserver1.domain.com
(很明显,这两个服务器都是假URL)。
以下是我的共同欺骗设置的YAML配置文件:
共骗主要YAML
paths:
tests: tests
log: tests/_log
data: tests/_data
helpers: tests/_helpers
settings:
bootstrap: _bootstrap.php
suite_class: \PHPUnit_Framework_TestSuite
colors: true
memory_limit: 1024M
log: true
modules:
config:
Db:
dsn: ''
user: ''
password: ''
dump: tests/_data/dump.sql
验收测试YAML
# Codeception Test Suite Configuration
class_name: WebGuy
modules:
enabled:
# - PhpBrowser
# - Selenium2
- WebDriver
- WebHelper
config:
WebDriver:
url: 'https://.../login_logout.php?superuser'
browser: chrome
window_size: 1024x768
# PhpBrowser:
# url: 'https://.../login_logout.php?superuser'
任何帮助都是非常感谢的!
发布于 2015-09-05 01:28:44
您是否尝试过设置主机和端口参数?
https://github.com/Codeception/Codeception/blob/1.8/docs/modules/WebDriver.md
host - Selenium server host (127.0.0.1 by default) port - Selenium server port (4444 by default)
https://stackoverflow.com/questions/32406662
复制相似问题