2013-07-30 32 views
0

我試圖在使用Selenium網格的遠程計算機上啓動自動化測試。遠程計算機具有一個具有IE7的虛擬機。無法在虛擬機上使用Selenium網格啓動IE7

在遠程計算機上,我使用下面的命令輪轂運行:

java -jar selenium-server-standalone-2.32.0.jar -role hub -port 4444" 

在虛擬機,我使用下面的命令的節點運行:

java -jar selenium-server-standalone-2.32.0.jar -role node -port 5555 -hub http://xxxx:4444/grid/register -browser browserName="internet explorer",version=7,platform=WINDOWS 

XXXX是遠程機器的URL。

我有「所有區域的保護模式設置不一樣」。錯誤。我試過改變保護模式設置。在我的本地(我運行測試的地方)和遠程計算機上,默認情況下它是禁用的,所以我在虛擬機上禁用了它。我仍然有同樣的錯誤。

虛擬機上的註冊工作,並檢查xxxx /網格/控制檯顯示瀏覽器。

任何人有任何想法我在這裏失蹤?

編輯:完整的錯誤信息:

internet explorer 7 (ANY): The environment you requested was unavailable. (%s) 
> Requested browser: { name: 'undefined - internet explorer 7 (ANY)', 
    browserName: 'internet explorer', 
    platform: 'ANY', 
    version: '7', 
    build: undefined, 
    tags: [ 'custom', '47589137' ] } 

Error: { [Error: The environment you requested was unavailable.]

data: '{"sessionId":"","status":13,"value":{"message":"Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)... 

我沒有提供提供完整的數據,因爲這是相當長的。如果有任何我應該尋找的具體信息,請告訴我。

EDIT2:調用代碼:

它使用石蠟(https://github.com/vmeurisse/paraffin)。到石蠟函數的調用是:

paraffin.tests(getConfig(['server', 'coverage', 'remote']), function() { 
    showReportLocation(); 
    callback.apply(this, arguments); 
}); 

與配置之中:

server: { 
    path: dir.base, 
    port: 8080, 
    coverageDir: dir.coverageDir 
}, 
coverage: { 
    baseDir: dir.base, 
    src: dir.src, 
    coverageDir: dir.coverageDir, 
    copyall: true, 
    filter: function(file) { 
     return list_of_files; 
    } 
}, 
remote: { 
    webdriverURL: 'domain', 
    webdriverPort: 4444, 
    url: 'http://' + os.hostname() + ':8080/rest_of_the_url', 
    browsers: [ 
     {browserName: 'internet explorer', version: '7', platform: 'ANY'}, 
     {browserName: 'firefox', platform: 'ANY'}, 
     {browserName: 'chrome', platform: 'ANY'} 
    ] 
} 

不過,我不認爲這是問題所在。使用完全相同的代碼,以及將節點鏈接到集線器的命令完全相同,但是從我的(物理)機器(儘管在IE8上)啓動的命令可以工作。

+0

您收到的錯誤是什麼? –

+0

更新了我的帖子。 – Stilltorik

+0

請求webdriver會話的代碼是什麼? –

回答

0

好的,我找到了解決該問題的方法。

似乎只有當虛擬機與遠程計算機在同一臺計算機上時纔會出現此問題。獨立於遠程機器啓動虛擬機後,它工作。

+0

不明白你在說什麼。你是說獨立於Node vms運行Hub vm嗎? – djangofan

+0

差不多。當Hub(物理)機器啓動Node VM時,它不起作用。但是,當從另一臺物理機啓動節點時,它會設法連接到集線器。 – Stilltorik

+0

好的,但我會仔細檢查。您看到的症狀很可能是由於某處的配置不當造成的。爲什麼要將IE平臺屬性設置爲「ANY」。你有沒有嘗試更具體的「WINDOWS」?此外,我認爲大多數人已經停止測試IE6和IE7,贊成8,9和10,因爲很少有人使用這些。你有測試IE7的一些具體原因嗎? – djangofan