如果正在使用 Selenium 伺服器,則相關的連線設定應放置在 "selenium" 下。如果同時存在 webdriverselenium 字典,則 selenium 選項將會與 webdriver 選項合併。

在設定與雲端測試供應商的連線時,也應使用 "selenium" 設定。

名稱 類型 預設值 描述
start_process 布林值 false 是否自動管理 Selenium 程序。
server_path 字串 none Selenium jar 檔案的位置。如果啟用 start_process,則必須指定此位置。
例如:bin/selenium-server-standalone-2.43.0.jar
log_path 字串|布林值 none Selenium output.log 檔案的放置位置。預設為目前目錄。
若要停用 Selenium 記錄,請將此設定為 false
version2 布林值 false 如果您需要使用舊版的 Selenium Server 2,請將此設定為 true
port 整數 4444 Selenium 將會接聽的連接埠號碼,以及/或 Nighwatch 將嘗試連線的連接埠號碼。
cli_args 物件 none 要傳遞至 Selenium 程序的命令列引數清單。您可以在此設定瀏覽器驅動程式的各種選項,例如

  • webdriver.firefox.profile:Selenium 預設會為每個 Session 建立新的 Firefox 設定檔。如果您希望使用現有的 Firefox 設定檔,您可以在此指定其名稱。
    可用的 Firefox 驅動程式引數完整清單位於此處
  • webdriver.chrome.driver:Nightwatch 也可以使用 Chrome 瀏覽器執行測試。若要啟用此功能,您必須下載 ChromeDriver 二進位檔,並在此指定其位置。此外,別忘了在 desiredCapabilities 物件中指定 chrome 作為瀏覽器名稱。
    更多資訊可在 ChromeDriver 網站上找到。
  • webdriver.ie.driver:Nightwatch 也可與 Internet Explorer 搭配使用。若要啟用此功能,您必須下載 IE 驅動程式二進位檔,並在此指定其位置。

    或者,您可以從 NPM 安裝套件 iedriver

    此外,您需要在 desiredCapabilities 物件中將 "internet explorer" 指定為瀏覽器名稱。

Selenium 設定範例

以下是 nightwatch.conf.js 的設定範例,該範例使用本機 Selenium 伺服器,並支援 Firefox、Chrome 和 Internet Explorer。

假設已在目前的專案中安裝下列 NPM 套件

  • geckodriver
  • chromedriver
  • selenium-server
  • iedriver
module.exports = {
  src_folders: [],
  
test_settings: { default: { launch_url: 'https://nightwatch.dev.org.tw' },
selenium: { // Selenium Server is running locally and is managed by Nightwatch selenium: { start_process: true, port: 4444, server_path: require('selenium-server').path, cli_args: { 'webdriver.gecko.driver': require('geckodriver').path, 'webdriver.chrome.driver': require('chromedriver').path, 'webdriver.ie.driver': process.platform === 'win32' ? require('iedriver').path : '' } }, webdriver: { start_process: false } },
'selenium.chrome': { extends: 'selenium', desiredCapabilities: { browserName: 'chrome', chromeOptions: { } } },
'selenium.firefox': { extends: 'selenium', desiredCapabilities: { browserName: 'firefox' } },
'selenium.ie': { extends: 'selenium', desiredCapabilities: { browserName: 'internet explorer' } } } }