0

我使用JMeter與[email protected] WebDriver集(v1.3.1)和Firefox驅動程序(Firefox版本:31.0)。 當我直接從JMeter執行它時,我的測試計劃運行良好。 我可以看到瀏覽器打開並可以按照測試執行。JMeter與jp @ gc Firefox WebDriver:遠程執行不同的瀏覽器大小

當我通過JMeter用戶 - 服務器運行它雖然通過遠程執行測試在一個採樣可再現失敗,出現以下錯誤消息:

ERROR - com.googlecode.jmeter.plugins.webdriver.sampler。 WebDriverSampler:等待元素點擊300秒後超時:By.id:嚮導

我已經配置了採樣器對錯誤進行截圖,但看起來很好。在實際嘗試點擊它之前,採樣器會等待元素被點擊。

奇怪的是 - 正如上面提到的 - 當我直接執行測試(即從JMeter的GUI)

一個不同之處,我注意到了遠程執行的,該瀏覽器沒有按」這不會發生實際上在目標機器上打開(如「可見地」)。我可以看到,雖然該進程正在運行「-foreground」選項。 這可能很好,但爲了調試的目的,我想看看實際發生了什麼。這可以幫助確定這種情況下的不同。

關於如何讓瀏覽器在這種情況下打開的任何想法? 或者另外,關於本地和遠程執行有何不同的想法?

編輯:我想我跟蹤到的瀏覽器大小是不同的直接與遠程執行。從Firefox驅動程序切換到Chrome驅動程序後,這變得很明顯。該測試在遠程執行中仍然失敗,但截圖顯示了水平滾動條&。 Firefox沒有,但截圖顯然沒有顯示「完整的真相」。

回答

0

比較直接和遠程執行時,問題確實是由不同的瀏覽器大小造成的。我想在我的測試中點擊的元素在遠程執行過程中僅僅出現在屏幕之外,因此無法點擊。但是,它可以找到並且匹配「elementToBeClickable」條件,這有點違反直覺。

爲了避免這種情況,當測試開始我專門設置一個「安全」和固定瀏覽器大小:

WDS.browser.manage().window().setPosition(new pkg.Point(0, 0)) 
WDS.browser.manage().window().setSize(new pkg.Dimension(1280, 1024)) 

利用這種直接&遠程執行具有相同的尺寸和測試運行正常。 注意

WDS.browser.manage().window().maximize() 

不會在遠程執行工作! 這似乎以某種方式減少了屏幕尺寸,即使它以前設置爲「安全」尺寸。

相關問題