Selenium4 IDE,它終於來了


新版的Selenium4 IDE,更強,更全,更好用。

在之前的文章我介紹了,Selenium4.0的更新路線,其中提到了Selenium IDE的發展。

ChromeSelenium IDE支持現已可用。可以從以下網址下載它:https://selenium.dev/selenium-ide/

眾所周知,Selenium IDE是一種記錄和回放工具。現在它將具有以下更豐富和高級的功能:

  • 新的插件系統。任何瀏覽器都可以輕松插入新的Selenium4 IDE。您將能夠擁有自己的定位器策略和Selenium IDE插件。
    新的CLI運行器。它將完全基於NodeJS,而不是基於HTML的舊運行器,並將具有以下功能:
  • WebDriver播放。新的Selenium4 IDE運行程序將完全基於WebDriver
  • 並行執行。新的CLI運行器還將支持並行測試用例執行,並將提供有用的信息,例如花費的時間,通過和失敗的測試用例。

主角Selenium4 IDE

早期的測試人員通常會避免使用Selenium IDE等記錄和重播工具進行自動化測試,而寧願選擇使用Selenium WebdriverWebDriverIOCypress等腳本框架。畢竟,為什么不使用這些工具,事實證明它們是更有效,對測試的幫助更多!

盡管Selenium IDE提供了易用性,但它仍然存在很多問題,它不支持跨瀏覽器測試,運行並行測試等等。這就是原因,當Selenium IDE的開發於2017年停止更新時,許多測試人員都對Selenium IDE死亡並不感到惋惜。

但是,隨着Selenium4 IDE再次受到關注並且其使用率逐漸增加,這種情況最近有所改變。原因是Selenium4 IDE克服了以前的局限性,現在支持跨瀏覽器測試並行測試腳本注入debug調試CI/CD等等!

Selenium IDE歷史回顧

Selenium IDE於2006年推出,是一種用於開發Selenium測試用例的記錄和重播工具。Selenium IDE易於上手,因為不需要任何特殊設置和基礎。要開始使用Selenium IDE進行Selenium測試自動化,只需要為相應的瀏覽器安裝擴展(或附加組件)。Selenium IDE提供了一個GUI,用於記錄與網站的交互。

盡管Selenium IDE先前僅適用於Firefox,但現在也適用於ChromeSelenium IDE的最新版本是3.17.0。可以使用下面的鏈接下載Selenium IDE的Chrome和Firefox擴展。

安裝擴展后,就可以開始記錄測試。與網站的交互被記錄並歸類為以下幾類:命令、目標對象、值、說明(可選)。

歡迎頁

主頁面

Selenium4 IDE的主要功能

Selenium4 IDE是一個易於使用的工具,可提供即時反饋,並可以使用Selenium IDESIDE文件(或命令行)運行器在任何瀏覽器+操作系統組合上運行測試。

以下是一些關鍵功能:

  • 執行測試(和測試套件):Selenium4 IDE可以執行特定的測試或包含一組測試的完整測試套件。
  • 跨瀏覽器測試:它可以用於自動瀏覽器測試,因為可以使用SIDE文件運行器執行跨瀏覽器測試。
  • 調試:設置斷點並暫停異常,可以很容易地從IDE本身調試測試。
  • 豐富的命令集:Selenium4 IDE支持許多命令,這些命令可用於處理斷言、插入腳本、創建循環等。
  • 邏輯控制:Selenium4 IDE具有廣泛的命令集,可啟用控制流結構。ifif..elsewhile等命令有助於從IDE執行條件判斷的測試。
  • 測試用例重用:運行命令使您可以在另一個測試用例(或測試套件)中重用特定的測試用例。
  • Selenese命令的分組:Selenium4 IDE支持Selenese命令(或Selenium命令集)的分組,可以運行測試,一系列Selenese命令構成一個測試腳本。
  • 輕松修改和比較測試用例–使用Selenium4 IDE創建的測試腳本存儲為JSON文件。這樣可以輕松比較,修改和檢查測試。

下面顯示了我們的Selenium4 IDE教程錄制了一個使用必應搜索FunTester的教程,隨手點擊一個鏈接進去。


{
  "id": "ab514091-68ca-4b4c-a232-587a0b82fcaa",
  "version": "2.0",
  "name": "FunTester",
  "url": "https://cn.bing.com",
  "tests": [{
    "id": "e34fd206-9ab8-4a6c-a543-0f80d1ba3fe9",
    "name": "FunTester",
    "commands": [{
      "id": "92e8a427-e37e-4c6b-88c4-718d4e6c606e",
      "comment": "",
      "command": "open",
      "target": "/",
      "targets": [],
      "value": ""
    }, {
      "id": "780adf28-4694-4c22-bfd1-74e09bf80775",
      "comment": "",
      "command": "setWindowSize",
      "target": "1680x1027",
      "targets": [],
      "value": ""
    }, {
      "id": "2d8284e8-8475-4d75-9740-b407d6317b95",
      "comment": "",
      "command": "click",
      "target": "id=sb_form_q",
      "targets": [
        ["id=sb_form_q", "id"],
        ["name=q", "name"],
        ["css=#sb_form_q", "css:finder"],
        ["xpath=//input[@id='sb_form_q']", "xpath:attributes"],
        ["xpath=//form[@id='sb_form']/div/input", "xpath:idRelative"],
        ["xpath=//input", "xpath:position"]
      ],
      "value": ""
    }, {
      "id": "ddd0e97d-6474-4a3e-a260-02f3a573f84f",
      "comment": "",
      "command": "type",
      "target": "id=sb_form_q",
      "targets": [
        ["id=sb_form_q", "id"],
        ["name=q", "name"],
        ["css=#sb_form_q", "css:finder"],
        ["xpath=//input[@id='sb_form_q']", "xpath:attributes"],
        ["xpath=//form[@id='sb_form']/div/input", "xpath:idRelative"],
        ["xpath=//input", "xpath:position"]
      ],
      "value": "FunTester"
    }, {
      "id": "959e1353-de22-4997-9b26-3ed02a55d3d6",
      "comment": "",
      "command": "sendKeys",
      "target": "id=sb_form_q",
      "targets": [
        ["id=sb_form_q", "id"],
        ["name=q", "name"],
        ["css=#sb_form_q", "css:finder"],
        ["xpath=//input[@id='sb_form_q']", "xpath:attributes"],
        ["xpath=//form[@id='sb_form']/div/input", "xpath:idRelative"],
        ["xpath=//input", "xpath:position"]
      ],
      "value": "${KEY_ENTER}"
    }, {
      "id": "d964cc49-1d76-41e2-b2aa-e0ad34da2999",
      "comment": "",
      "command": "click",
      "target": "linkText=FunTester - 知乎",
      "targets": [
        ["linkText=FunTester - 知乎", "linkText"],
        ["css=.b_algo:nth-child(5) > h2 > a", "css:finder"],
        ["xpath=//a[contains(text(),'FunTester - 知乎')]", "xpath:link"],
        ["xpath=//ol[@id='b_results']/li[5]/h2/a", "xpath:idRelative"],
        ["xpath=//a[contains(@href, 'https://www.zhihu.com/people/ba-yin-xian/posts')]", "xpath:href"],
        ["xpath=//li[5]/h2/a", "xpath:position"],
        ["xpath=//a[contains(.,'FunTester - 知乎')]", "xpath:innerText"]
      ],
      "value": "",
      "opensWindow": true,
      "windowHandleName": "win2584",
      "windowTimeout": 2000
    }]
  }],
  "suites": [{
    "id": "5915a8a1-cce3-42f9-ad68-5022d7fcfc1f",
    "name": "Default Suite",
    "persistSession": false,
    "parallel": false,
    "timeout": 300,
    "tests": ["e34fd206-9ab8-4a6c-a543-0f80d1ba3fe9"]
  }],
  "urls": ["https://cn.bing.com/"],
  "plugins": []
}

對於需要進行自動瀏覽器測試的測試人員,Selenium4 IDE是一個非常值得探索的選擇。

關於Selenium4 IDE的新特性,如果各位有需求的話,我會逐個更新簡單的入門講解,由於本人現在主要從事服務端的測試工作,對於Selenium4 IDE后面的高階功能,如:並行測試、分布式兼容性測試等等略顯有心無力,可能更新會比較慢。


  • 公眾號FunTester首發,更多原創文章:450+原創文章,歡迎關注、交流,禁止第三方擅自轉載。

熱文精選


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM