我知道用Watir-Webdriver可以使用phantomJS,但是在我決定使用(默認)無頭模式之前,我可以通過它來實際看到它在做什麼嗎?是否有可能在Watir-WebDriver中顯示PhantomJS?
3
A
回答
0
您可以將所有請求和響應使用onResourceRequested和登錄api's。我爲我在casperjs中寫下的刮板做了這個,它使用下面的phantomjs。 Watir-Webdriver應該爲phantomjs的webPage對象提供一些鉤子。
page.onResourceRequested = function(requestData, networkRequest) {
console.log('Request (#' + requestData.id + '): ' + JSON.stringify(requestData));
};
page.onResourceReceived = function(response) {
console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
};
+0
不幸的是沒有這樣的鉤子。 – pguardiario
1
就像artjom B正在寫的一樣,除PhantomJS以外的其他模式都是不可能的。
因此,要麼更改瀏覽器 - 我已通過更改CMD框中的環境變量使所有測試能夠在每個瀏覽器中運行。
否則採取了很多的截圖有: @ b.screenshot.save名「」 - 你可以按照流過,即使你繼續使用PhantomJS上
2
不確定的模式,但你可以試試這個:
require 'watir-webdriver'
b = Watir::Browser.new :phantomjs
b.screenshot.save 'step1.png'
b.goto "www.google.com"
b.screenshot.save 'step2.png'
b.url #"http://www.google.com/"
b.screenshot.save 'step3.png'
b.title #"Google"
b.screenshot.save 'step4.png'
你會得到輸出,看起來像這樣:
2
擴展其他響應,您可以在單擊或將鍵發送到元素之前自動執行截圖。
class Screenshotter < Selenium::WebDriver::Support::AbstractEventListener
def before_click(_, driver)
driver.save_screenshot("screenshot-#{Time.now.to_i}.png")
end
def before_change_value_of(_, driver)
driver.save_screenshot("screenshot-#{Time.now.to_i}.png")
end
end
browser = Watir::Browser.new(:phantomjs, listener: Screenshotter.new)
展望未來,您可以將所有截圖加入到GIF中,它將像測試的實況視頻一樣工作。
相關問題
- 1. 是否有可能在PhantomJS
- 2. 是否有可能以顯示tuleap
- 3. 是否有可能在ios中顯示所有歌曲而不顯示MPMediaPickerController
- 4. 是否可能顯示在gtest
- 5. 是否有可能在Linux中顯示排序的進度?
- 6. 當在plsql中爲null時,是否有可能不顯示xmlelement?
- 7. 是否有可能在Django中向管理員顯示鏈接?
- 8. 是否有可能在Symfony2中只顯示字段類型?
- 9. 是否有可能在DataGridView中顯示1列?
- 10. 是否有可能在iphone中以橫向模式顯示UIImagePickerController?
- 11. 是否有可能在silverlight5中顯示IsolatedStorage路徑
- 12. 是否有可能在XSLT/XSL FO中顯示運行總數?
- 13. 是否有可能在Arduino中顯示編譯器警告?
- 14. 是否有可能在UIWebView中顯示AdSense?
- 15. 是否有可能不在數據框中顯示NAs?
- 16. 是否有可能在食譜中顯示圖像直方圖
- 17. 是否有可能不顯示對話框在下載功能
- 18. .echo 5 + 5在WinDBG中顯示「5 + 5」。是否有可能使其顯示10?
- 19. 是否有可能讓孩子顯示:沒有元素可見?
- 20. 是否有可能觸擊標題欄中顯示的標題?
- 21. 是否有可能讓asp:calender顯示數據庫中的日期?
- 22. 是否有可能在Jenkins上顯示Fortify掃描結果
- 23. 是否有可能在GridView行之間顯示RowCommand事件
- 24. 是否有可能顯示在預覽邊界,但不打印
- 25. 是否有可能讓dartdoc在屬性上顯示註釋
- 26. 是否有可能在webview上顯示之前預加載html
- 27. 是否有可能僅在首次推出時顯示iAds
- 28. 是否有可能顯示在Android的音頻meassage
- 29. 是否有可能在WPF NavigationWindow上顯示動畫?
- 30. 是否有可能在IE標準視圖中顯示jsp頁面,但不能在兼容視圖中顯示
除無頭之外,沒有其他的幻像模式。您可能需要使用其他瀏覽器:chrome,firefox,slimerjs。 –