工作階段功能
工作階段功能是 Nightwatch(和其他 W3C WebDriver 用戶端)使用的一種請求/回應模型,用於定義它從 WebDriver 實作或 Selenium 伺服器所需的瀏覽器功能。WebDriver/Selenium 伺服器也會在瀏覽器工作階段初始化過程中,提供其支援的功能。
工作階段功能可以分為兩類
1. 輸入功能
為了建立新的瀏覽器工作階段,Nightwatch 必須將所需的功能提供給 WebDriver 服務。
以下是 Nightwatch 作為初始 /session
請求的一部分傳送的功能範例
Request POST /session
{
desiredCapabilities: {
browserName: 'chrome',
name: 'To-Do List End-to-End Test'
}
}
2. 瀏覽器功能
WebDriver 服務會使用收到的輸入功能來建立瀏覽器工作階段,並以支援的功能回應。
以下是 Nightwatch 作為初始 /session
回應的一部分收到的瀏覽器功能範例
Response 200 POST /session (724ms)
{
value: {
capabilities: {
acceptInsecureCerts: false,
browserName: 'chrome',
browserVersion: '102.0.5005.61',
chrome: {
chromedriverVersion: '101.0.4951.41 (93c720...)'
},
'goog:chromeOptions': { debuggerAddress: 'localhost:52470' },
networkConnectionEnabled: false,
pageLoadStrategy: 'normal',
platformName: 'mac os x',
proxy: {},
setWindowRect: true,
strictFileInteractability: false,
timeouts: { implicit: 0, pageLoad: 300000, script: 30000 },
unhandledPromptBehavior: 'dismiss and notify',
'webauthn:extension:credBlob': true,
'webauthn:extension:largeBlob': true,
'webauthn:virtualAuthenticators': true
},
sessionId: '15d21f2132ff0675a97ca419bf6fbd4'
}
共用功能
此集合中包含的一些功能是標準的,並在所有瀏覽器之間共用,但該集合也可能包含特定於瀏覽器的功能,並且這些功能總是帶有前綴。
功能可以用來要求支援特定功能子集的驅動程式。這可以用來要求某些瀏覽器功能,例如調整視窗尺寸的能力,但也可以在分散式環境中使用,從選擇矩陣中選擇特定的瀏覽器設定。
建議內容
Selenium 文件提供有關所有功能(包括共用和特定於瀏覽器的功能)的蘋果文件。