[Selenium自動化測試實戰] 如何視覺化驗證元素的定位
問題
在進行Web UI的自動化測試過程中,除了例如點選和拖拽某個元素產生的介面反饋,測試工程師在瀏覽器的視窗中是很難看到正在被操作的元素的。但是在一些場景下工程師可能會需要觀察哪個元素正在被操作。
解決方案
要讓元素能夠被測試工程師的肉眼觀察到,最簡單的辦法的就是改變元素的樣式,例如讓元素出現高亮的效果。那麼,如何通過selenium來實現這個改變呢?Selenium::WebDriver
類有一個方法execute_script
,可以在自動化指令碼的執行過程中執行簡單的JS指令碼,實現我們的目的。
例項
# coding: utf-8
require 'selenium-webdriver'
def highlight(element, duration = 3)
# 保留元素原有的style,以待方法執行完成後恢復
original_style = element.attribute("style")
# 給元素加一個紅色的虛線邊界
$driver.execute_script(
"arguments[0].setAttribute(arguments[1], arguments[2])",
element,
"style",
"border: 2px solid red; border-style: dashed;")
# 讓元素的邊界保留一段時間再恢復
if duration > 0
sleep duration
$driver.execute_script(
"arguments[0].setAttribute(arguments[1], arguments[2])",
element,
"style",
original_style)
end
end
begin
$driver = Selenium::WebDriver.for :firefox
$driver.get 'https://www.jianshu.com'
highlight $driver.find_element(xpath: "//a[@class='logo']")
ensure
$driver.quit
end
總結
Selenium::WebDriver
類的方法execute_script
在實際使用中是一個很重要的方法,可以通過這個方法實現很多高階的功能。
相關文章
- Playwright自動化測試工具之元素定位實戰
- Selenium3自動化測試【17】元素定位之Link定位
- Selenium3自動化測試【20】CSS定位元素CSS
- Selenium3自動化測試【18】XPath定位元素(2)
- Selenium 自動化測試從零實戰
- 自動化測試進階課程——Selenium自動化測試通關實戰班
- 如何使用Selenium自動化測試工具獲取動態圖片驗證碼?
- Java + Selenium + OpenCV解決自動化測試中的滑塊驗證JavaOpenCV
- selenium java自動化測試Java
- Selenium自動化測試框架框架
- 如何獲取自動化測試實戰經驗
- UI自動化測試實戰UI
- JB的閱讀之旅-Selenium2自動化測試實戰
- Python Selenium自動化測試框架 元素等待機制Python框架
- Selenium自動化測試網頁網頁
- java+selenium 自動化測試Java
- selenium自動化測試面試集合面試
- 利用 Selenium 自動化 web 測試Web
- 用python實現selenium 自動化測試Python
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 使用 Robot Framework 進行自動化視覺測試Framework視覺
- 自動化測試時對驗證碼的處理
- Selenium2Java自動化測試實戰讀書筆記(一)Java筆記
- 自動化測試框架Selenium的使用——安裝Selenium框架
- 自動化測試 selenium 環境搭建
- 自動化測試框架Selenium入門框架
- selenium+python自動化測試Python
- 「UI 測試自動化selenium」彙總UI
- Selenium用法詳解 - - selenium自動化測試概要
- Web自動化必會知識:「Web基礎、元素定位、元素操作、Selenium執行原理、專案實戰+框架」Web框架
- 如何實現高度自動化測試?
- Selenium+Java自動化測試常用的方法Java
- 自動化測試selenium在小公司的成功實踐
- 介面自動化測試實戰之智慧場景如何攻破
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 自動化測試系列 —— UI自動化測試UI
- UI自動化測試-web元素選擇UIWeb
- Web自動化-Selenium自動化測試-1-主要學習計劃Web