向所有人致以問候!Selenium Webdriver。 Internet Explorer 9中的鼠標操作不準確
我不是以英語爲母語的人,所以請原諒我的公平語法。
Selenium是一個用於在不同瀏覽器中測試Web應用程序的框架。我想問問使用Selenium的人是否有任何幫助。我在Selenium的谷歌集團問人,但沒有人幫助我。
我正在使用Selenium Webdriver進行大量鼠標交互的項目。我正在編寫C#測試。當我的團隊開始使用Selenium Webdriver時,我們注意到,鼠標操作(OpenQA.Selenium.Interactions.Actions)在IE中有一些意想不到的行爲,並且在不同的瀏覽器(甚至不同的計算機)上有不同的工作方式。我第一次是唯一一個使用鼠標操作的測試人員。我在指責Selenium Webdriver,並試圖找到避免這種不準確的方法。我正在調查這個問題很長一段時間,但沒有任何結果。但我不想把時間花在史前史上。
好吧,讓我描述一下情況。我們創建了演示項目:簡單頁面。我們通過按住鼠標左鍵實現了在此畫布上繪畫的可能性。所以我希望你對此很清楚。
下一個重要的事情是我們啓用了日誌記錄到控制檯。也就是說,我們可以通過打開控制檯來查看畫布內鼠標箭頭的座標。
然後我們寫了一個測試:
Actions a = new Actions(driver);
a.Build();
a.MoveToElement(canvas, 100, 100)
.ClickAndHold()
.MoveByOffset(100, 0)
.Release();
a.Perform();
的代碼非常簡單。只需將鼠標箭頭移動到畫布上,然後將鼠標箭頭偏移(100,100),然後垂直移動100(使用鼠標左鍵)。正如你所能理解的那樣,日誌的結果應該是(200,100)。
但是,這是最有趣的事情:我的同事們有同樣的結果(200,100)!但是他們在1個月前有不準確的地方(這就是爲什麼我們認爲鼠標操作不準確)。我仍然有不準確的結果:(192,96)。所以每100px的偏移量有4px的錯誤。我的同事們不明白,他們發生了什麼變化,以及爲什麼鼠標操作現在或他們能夠正常工作。
一個更有趣的是,在視覺上(我想提醒你,我們就可以在畫布上作畫),這是絕對100像素(我們移動鼠標箭頭垂直握住時,鼠標左鍵)!驚人!
所以,這是實驗。
我問任何合適的人來幫助我解決這個問題。它只出現在IE9中。我想了解這種行爲的原因。 Action類如何實現?它可以取決於鼠標驅動程序或類似的東西?在這種情況下,如果有問題,我使用無線鼠標,它有一個特殊的驅動程序。請幫幫我!
P.S.我試圖改變我的鼠標設置,我的屏幕設置,但沒有結果。
謝謝!
此致敬禮, Michael Kalygin。
哦,我的上帝!這是令人難以置信的,但看起來,這就是原因。我重新安裝IE幾次...我在看設置,並沒有注意到它... 可能,IE默認設置爲105%!注意,如果你在你的電腦上發現同樣的問題! 非常感謝!你太棒了! :) P.S .:非常愚蠢......真的......對不起!所有的錯誤總是愚蠢的! :) – 2012-02-15 20:59:12
「錯誤總是愚蠢的」 - 我的生活故事... :) – Anders 2012-02-15 21:06:25
它仍然可以在IE9下工作,即縮放級別較低。您必須執行以下代碼:/ n
var service = InternetExplorerDriverService.CreateDefaultService(@"C:\SeleniumDrivers"); var options = new InternetExplorerOptions { IgnoreZoomLevel = true };
– Rishabh 2015-06-19 06:01:52