2
我一直在使用PhantomJS使用硒webdriver時遇到了一些問題。使用PhantomJS的硒webdriver不能獲取命令/點擊完全執行
我得到的印象是,不同的操作不在頁面上執行。如果我嘗試運行某些更改頁面上的元素並且測試完全沒有任何錯誤地執行,然後在常規瀏覽器中打開該頁面,編輯的元素似乎沒有改變。
我一直在使用PhantomJS使用硒webdriver時遇到了一些問題。使用PhantomJS的硒webdriver不能獲取命令/點擊完全執行
我得到的印象是,不同的操作不在頁面上執行。如果我嘗試運行某些更改頁面上的元素並且測試完全沒有任何錯誤地執行,然後在常規瀏覽器中打開該頁面,編輯的元素似乎沒有改變。
驗證應該由操作觸發的方法是否確實未執行。你可以這樣說:
首先,重寫「注入」的一些標誌,將由動作來觸發的方法(這是Scala代碼,但你應該明白我的意思):
val js: JavascriptExecutor = webDriver.asInstanceOf[JavascriptExecutor]
js.executeScript(myScript)
lazy val myScript: String = {
s"""
window.openNewWindowFlag = false;
SDK.openNewWindowFlag = function(url, width, height, onClose) {
openNewWindowFlag = true;
};
"""
}
注,我們在全球(窗口)範圍上添加標誌。 然後,運行應調用某種方法(我們覆蓋的方法)的動作並檢查標誌是否更改:
val js: JavascriptExecutor = webDriver.asInstanceOf[JavascriptExecutor]
val isMethodTriggered = js.executeScript("return openNewWindowFlag").toString.toBoolean