當前位置:首頁 » 網頁前端 » seleniumweb測試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

seleniumweb測試

發布時間: 2023-06-15 08:54:04

1. selenium自動化怎麼測試web界面中圖表數據正確性

我也遇到類似的問題。對於類似echart插件繪制的圖表,selenium無法定位到其中具體元素(至少目前我沒找到方法),所以要是測功能的話只得手工去點了(比如單擊跳轉),如果是測數據,大可不必用selenium,可以考慮通過介面【自動化】測試

2. [Selenium自動化測試實戰] 不打開瀏覽器如何進行WEB自動化測試

在一般的使用場景下,使用selenium進行web自動化測試都需要打開一個瀏覽器的實體,測試腳本通過控制webdriver來對瀏覽器進行操作。但是在一些場景下測試工程師需要在不打開瀏覽器的情況下進行自動化測試,也就是以headless的方式運行自動化測試。



業界有一些headless的第三方庫可以使用,例如大名鼎鼎的PhantomJS。但是這些工具的安裝很復雜,同時不一定保證持續的維護。

現在全球最受歡迎的瀏覽器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已經支持了headless mode,只需要配置一些簡單的參數就可以實現。

首先要確認自己機子上的Chrome版本。

require 'selenium-webdriver'

options = Selenium::WebDriver::Chrome::Options.new

options.add_argument('--headless')

options.add_argument('--disable-gpu')

options.add_argument('--remote-debugging-port=9222')

driver = Selenium::WebDriver.for :chrome, options: options

driver.get "https://www.jd.com"

driver.save_screenshot("#{File.dirname(__FILE__)}/#{Time.now.strftime("%F")}")

通過在Selenium::WebDriver::Chrome::Options類的對象中添加argumentoptions.add_argument('--headless'),可以讓我們在Chrome在headless模式下運行。

而第二個argument的作用是針對現有bug的work around。第三個argument的作用則是允許我們可以在另外一個瀏覽器中debug。

為了觀測運行的情況,我保存了一個屏幕截圖。

相比於之前的headless web自動化方案,Chrome的優勢在於設置的方便,甚至可以和當前的框架無縫切換,同時Chrome作為最為主流的瀏覽器,你也不用擔心持續維護的問題。