我已在本地计算机(192.168.1.50)上安装了实习生,并希望在远程计算机(192.168.1.76)上使用QT浏览器webdriver。我已经更改了intern.js并添加了正确的主机名,如下所示:
tunnelOptions: {
hostname: '192.168.1.207:9517'
},
也会调用qt浏览器:
environments: [
{ browserName: 'QTBrowser', version: '5.4' , platform: [ 'LINUX' ] }
],
隧道设置为NullTunnel。
执行测试时,会显示以下错误
C:\ intern-tutorial> intern-runner config = tests / intern.js聆听0.0.0.0:9000隧道启动套件QTBrowser 5.4 on LINUX FAILED错误:[POST http://192.168.1.207:9517/wd/hub/session]连接ETIMEDOUT 在Server.createSession的192.168.1.207:4444 在重试 在 在 runCallbacks 在跑步 在 在 process._tickCallback中的nextTickCallbackWith0Args
TOTAL:测试了0个平台,0/0测试失败;发生了致命错误 错误:由于一个或多个套件错误导致运行失败 emitLocalCoverage 在 finishSuite
at at 在 runCallbacks 在跑步 在 在 process._tickCallback中的nextTickCallbackWith0Args
我可以使用网址 http://192.168.1.76:9517/status
通过浏览器自行访问远程网络驱动程序所以连接是正确的,但实习生确实添加了实际上不需要的/ wd / hub / session。
如何让我的实习生不这样做?
答案 0 :(得分:0)
您可以通过在隧道选项中设置pathname
来解决'wd / hub'问题:
tunnelOptions: {
pathname: '/',
hostname: '192.168.1.207',
port: 9517
}
但是,Intern和QtWebDriver之间目前存在一些不兼容性。一个是QtWebDriver要求标题使用特定的大写方案,如'Content-Type'。但是,Intern库用于处理其请求,目前将标头名称规范化为小写。这应该没问题,因为标题应该不区分大小写,但并非一切都遵循标准。
另一个问题是,与大多数其他WebDriver实现不同,QtWebDriver使用303响应而不是200响应会话创建调用,并且重定向地址是相对的。虽然这应该没问题,但实习生使用的Leadfoot库版本却没有正确遵循相对重定向地址。
这些问题应该在未来版本的Intern中修复,但目前Intern并不能与QtWebDriver一起开箱即用。