【发布时间】:2016-12-20 21:21:00
【问题描述】:
再次编辑
我在北弗吉尼亚州某处的 AWS 上有一台服务器,这是我的监控服务器。我从另一个州 ssh 进入这个 Ubuntu 服务器来进行系统管理。我想在此服务器上进行 Web 自动化测试,这将测试 Internet 上的 Web 应用程序访问 URL 并验证我是否可以 selenium 测试登录并成功进行身份验证。该服务器位于 AWS 云上,我不太确定要使用哪个 Perl 模块,因为我正在远程访问它。
有两个 CPAN 模块:Selenium::Remote::Driver 和 WWW::Selenium。我都试过了,他们给我带来了问题。而且我真的不知道哪个适合我的场景。当我使用 Selenium::Remote::Driver 时,出现以下错误:
Selenium server did not return proper status at /usr/local/share/perl/5.18.2/Selenium/Remote/Driver.pm line 401.
当我使用 WWW::Selenium 时,我得到这个错误:
Failed to start new browser session: org.openqa.selenium.server.RemoteCommandException: Error while launching browser
我可以通过导出 DISPLAY 从 AWS 监控服务器手动启动 firefox,但速度真的很慢。我听说我可以使用无头浏览器,但我必须通过以下方式导出 DISPLAY:
export DISPLAY=:5
但是请记住,我是从我的桌面 ssh 到这个 AWS/Selenium 服务器,所以我假设我在从我的桌面 ssh 到它的 AWS/Selenium 服务器上使用上述命令?实际上,在这一点上,我不确定我在这里做什么。有人可以帮忙吗?
【问题讨论】:
-
所以在你的例子中你的端口是 443...
-
remote_server_addr应该是主机名或 IP,而不是 URL。 -
如果您调用
$driver->debug_on(),这将触发从远程服务器打印出响应的行为。这可能包含一些有用的信息。
标签: perl selenium automated-tests