远程计算机

时间:2016-02-29 16:47:23

标签: webdriver intern

我已在本地计算机(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。

如何让我的实习生不这样做?

1 个答案:

答案 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一起开箱即用。