Selenium IDE命令行運行器
一、前言
Selenium IDE 通常是從 Chrome 或 Firefox 的 Web 應用商店進行安裝的,安裝后通過在瀏覽器的菜單欄中單擊其圖標來啟動它,并進行腳本的錄制與編寫,之后回放執(zhí)行該腳本。
本篇將介紹安裝 Selenium IDE 命令行運行程序、并獲取必要的瀏覽器驅動程序(如果在本地運行測試)以及使用所需選項從命令提示符啟動運行程序等操作。
二、安裝
1、首先需要安裝 Node.js(版本8或10)。
2、之后打開命令行安裝 selenium-side-runner(Selenium IDE 命令行運行程序)即可。
3、安裝瀏覽器驅動程序
Selenium 通過稱為瀏覽器驅動程序的小型二進制應用程序與每個瀏覽器通信。每個瀏覽器都有自己的驅動程序,可以手動下載并添加到系統(tǒng)路徑,或者使用包管理器安裝最新版本的瀏覽器驅動程序(推薦)。
(1)對于 Chrome,需要 ChromeDriver 驅動。
下載地址:
https://chromedriver.chromium.org/?。
命令行安裝驅動:
(2)對于 Edge,需要 EdgeDriver 驅動。
下載地址:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?。
命令行安裝驅動:
(3)對于 Firefox,需要 geckodriver 驅動。
下載地址:
https://github.com/mozilla/geckodriver?。
命令行安裝驅動:
(4)對于 IE,需要 IEDriver 驅動。
下載地址:
https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver?。
命令行安裝驅動:
(5)對于 Safari,需要 SafariDriver 驅動。
下載地址:
https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari?。
三、運行
使用 selenium-side-runner 命令,然后再調用已保存的項目文件路徑即可。
例如使用 Selenium IDE 進行錄制腳本,并運行成功,將腳本保存到 D 盤根目錄下,如D:\ test_demo.side。
打開命令行工具,執(zhí)行如下命令運行腳本。
執(zhí)行成功。
如果有多個 .side 文件,可以使用通配符(例如 D:\*.side)。
運行多個 .side 文件時,它將在多個瀏覽器窗口中并行啟動測試,分布在 n 個進程中(其中 n 是計算機上可用 CPU 內核的數(shù)量)。
注:提示如下報錯信息,則進行手動下載驅動,并配置環(huán)境變量即可。
The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver fro
m http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH.
(1)首先查看瀏覽器版本,并下載對應版本的驅動。
如瀏覽器版本106.0.5249.119。
則驅動下載106.0.5249.61。
(2)將驅動放在本地 chrome.exe 同級目錄里。
(3)在環(huán)境變量的 PATH 里添加 chromedriver.exe 同級目錄路徑,之后保存就可以了。
四、運行時配置
1、在本地指定不同的瀏覽器上運行。
?2、在 Selenium Grid 上運行。
3、指定并行進程的數(shù)量
在 Selenium Grid 上運行時,你可能希望控制正在運行的并行會話數(shù),可以使用 -w n 命令標志(其中 n 是想要的進程數(shù))。
4、Chrome 特定功能
如果你在計算機上的非標準位置安裝了 Chrome,則可以指定路徑,以便 ChromeDriver 知道要查找的位置。
無頭運行測試。
五、應用于框架
1、更改基本 URL。
通過指定不同的基本 URL,可以輕松地將測試指向不同的環(huán)境(例如開發(fā)環(huán)境、測試環(huán)境、生產環(huán)境)。
2、過濾器測試
可以選擇使用 --filter target 命令標志(其中 target 是正則表達式值)運行測試的目標子集。僅運行包含給定搜索條件的測試名稱。
3、將測試結果輸出到文件
如果需要將測試結果導出到文件中(例如,當作為 CI 進程的一部分運行時),可以使用 --output-directory 和 --output-format。
--output-directory 定義了測試結果文件的放置位置,可以采用絕對路徑或相對路徑。
--output-format 定義用于測試結果文件的格式,可以是 jest(例如 JSON)或 junit(例如 XML),默認格式為 jest(未指定類型)。
4、指定默認配置
可以將運行時參數(shù)存儲在配置文件中,而不是記住所有需要的命令行參數(shù)。
兩種配置方式。
方式一:
運行測試的目錄里創(chuàng)建 .side.yml 文件,selenium-side-runner 會自動識別它。下面是文件內容的示例。
如果要忽略該文件并使用命令行參數(shù),請在運行時與其他命令一起使用 --no-sideyml。
方式二:
替代 .side.yml 文件,可以在 YAML 文件中指定運行時參數(shù),并使用選擇的名稱和位置,然后在運行測試時指定其位置。
六、高級選項
1、參數(shù)
指定自己獨特的運行時參數(shù),可以通過 --params 標志使用它們。
(1)基本用法
指定參數(shù)的名稱和值,最基本的方法是指定一個字符串值。
(2)嵌套參數(shù)
參數(shù)可以使用點表示嵌套。
(3)數(shù)組值
可以指定字母數(shù)字數(shù)組。
(4)多個參數(shù)
--params 只能調用一次,但可以通過空格分隔指定多個參數(shù)。
2、使用代理服務器
可以在運行程序中使用以下選項將代理功能傳遞給瀏覽器。
(1)直接代理
此選項將 WebDriver 配置為繞過所有瀏覽器代理。
從命令行:
在 .side.yaml 文件中:
(2)手動代理
手動配置瀏覽器代理。
從命令行:
在 .side.yaml 文件中:
(3)PAC 代理
配置 WebDriver 以使用給定 URL 的 PAC 文件設置瀏覽器代理。
從命令行:
在 .side.yaml 文件中:
(4)SOCKS 代理
為 SOCKS 代理創(chuàng)建代理配置。
從命令行:
在 .side.yaml 文件中:
(5)系統(tǒng)代理
配置 WebDriver 以使用當前系統(tǒng)的代理。
從命令行:
在 .side.yaml 文件中: