在Windows Jenkins从属节点上运行Protractor时出现问题

时间:2015-10-02 17:44:50

标签: jenkins protractor internet-explorer-11 gulp-protractor

我试图在Windows Jenkins Slave Node上运行IE11上的Protractor时出现问题。

当我通过远程桌面连接时,我能够毫无问题地运行Protractor。但是,当我尝试从Jenkins运行Protractor时,我遇到了这个问题:

[launcher] Error: UnknownError: JavaScript error (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 396 milliseconds
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'Win7', ip: '142.133.132.199', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{browserAttachTimeout=0, enablePersistentHover=true, ie.forceCreateProcessApi=false, pageLoadStrategy=normal, ie.usePerProcessProxy=false, ignoreZoomSetting=false, handlesAlerts=true, version=11, platform=WINDOWS, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0, ie.browserCommandLineSwitches=, requireWindowFocus=false, browserName=internet explorer, initialBrowserUrl=http://localhost:12492/, takesScreenshot=true, javascriptEnabled=true, ignoreProtectedModeSettings=true, enableElementCacheCleanup=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=dismiss}]
Session ID: a43ccc90-f9f7-4465-98c3-dfb88751a5a9
    at new bot.Error (C:\Jenkins\workspace\sandbox\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:108:18)
    at Object.bot.response.checkResponse (C:\Jenkins\workspace\sandbox\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\response.js:109:9)
    at C:\Jenkins\workspace\sandbox\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:379:20
    at Array.forEach (native)
    at goog.async.run.processWorkQueue (C:\Jenkins\workspace\sandbox\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\async\run.js:130:15)
    at process._tickCallback (node.js:356:9)
[launcher] Process exited with error code 100

这很奇怪,因为我可以使用任何其他浏览器运行相同的测试。以下是我尝试的一些事情:

我有什么遗失的吗?

3 个答案:

答案 0 :(得分:2)

我发现阅读文档是件好事:) https://code.google.com/p/selenium/wiki/InternetExplorerDriver

阅读配置部分

  

仅对于IE 11,您需要在目标上设置注册表项   计算机使驱动程序可以保持与实例的连接   它创建的Internet Explorer。对于32位Windows安装,   您必须在注册表编辑器中检查密钥   HKEY_LOCAL_MACHINE \ SOFTWARE \微软\互联网   资源管理器\ MAIN \ FeatureControl \ FEATURE_BFCACHE。对于64位Windows   装置,关键是   HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\互联网   资源管理器\ MAIN \ FeatureControl \ FEATURE_BFCACHE。请注意   FEATURE_BFCACHE子键可能存在也可能不存在,应该是   如果它不存在则创建。重要提示:在此密钥内,创建一个   DWORD值名为iexplore.exe,值为0.

为我工作......

答案 1 :(得分:1)

我在Jenkins下的Protractor测试也遇到了问题,当我在控制台中运行测试时,一切都运行良好,但在Jenkins中没有。 事实证明,当Jenkins作为服务运行时,IEDriverServer不起作用(这是jenkins窗口安装程序的默认设置)。对于IE测试,Jenkins 绝不能作为服务运行,而是必须关闭Jenkins服务并且Jenkins从

开始
java -jar jenkins.war

(在jenkins目录中) (见https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

答案 2 :(得分:0)

确保本地计算机和远程计算机上的节点模块版本(特别是selenium)相同。