2

我们正在使用Intern来测试我们的应用程序。我们有三个不同的 Intern 配置文件,用于定位Selenium的本地实例、在本地虚拟机上运行的实例或Sauce Labs

Intern 在本地实例和虚拟机上针对 Firefox 运行测试,没有错误。但是,当我在本地和虚拟机实例上将 Chrome 添加到我想要对其进行测试的浏览器列表中时,我收到一条错误消息,指出:“您请求的环境不可用”。我知道所需的浏览器在这两个位置都可用,事实上我知道这个过程在过去是有效的。可能会发生什么变化,我需要配置什么才能让 Intern 和/或 Selenium 再次看到 Chrome?

我正在一台运行 Windows 7 的机器上工作,我安装的 VM 运行了一个 Ubuntu 映像,一路上小心地安装了 Firefox、Chrome 和 PhantomJS。

在针对 Selenium 的本地实例运行时,我们使用以下配置:

capabilities: {
    'selenium-version': '2.39.0'
},

environments: [
    { browserName: 'chrome' },
    { browserName: 'firefox' }
]

在 Ubuntu VM 上针对 Selenium 运行时,我们使用以下配置:

capabilities: {
    'selenium-version': '2.39.0'
},

environments: [
    { browserName: 'chrome' },
    { browserName: 'firefox' },
    { browserName: 'phantomjs' }
]
4

1 回答 1

1

自从提出这个问题以来,我在测试的 VM 版本方面取得了一些进展。配置添加到 VM 的各种组件的 setup.sh 文件引用了旧版本的 chromedriver:

旧配置:

wget "https://chromedriver.googlecode.com/files/chromedriver_linux64_2.3.zip"
unzip chromedriver_linux64_2.3.zip
mv chromedriver /usr/local/bin

成为:

wget "http://chromedriver.storage.googleapis.com/2.9/chromedriver_linux64.zip"
unzip chromedriver_linux64.zip
mv chromedriver /usr/local/bin

不过,目前我仍然无法让我们的测试的本地版本运行 Chrome。就我所见,chromedriver 是作为 Intern 的一部分安装的,即使我清除了我的 npm 缓存并重新安装,事实上,即使我用手动下载的一个替换自动包含的 chromedriver,它仍然给我“你的环境请求不可用”错误。

回到 VM 环境,我们正在尝试使用 PhantomJS。Intern 似乎能够初始化 Phantom 的一个实例,但是在运行任何测试之前它就会挂起。Phantom 包含它自己的 (ghost) 驱动程序,我相信它的启动配置正确,如下所示:

echo "Starting Phantomjs ..."
phantomjs --ignore-ssl-errors=true --web-security=false --webdriver=192.168.56.4:4444 &

如果有人有任何指针可以让 chrome 在我的本地机器上工作并在 VM 上进行幻像工作,我将不胜感激。

于 2014-02-21T10:57:09.490 回答