会话功能
会话功能是 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 文档提供了有关所有功能(共享的和特定于浏览器的)的苹果文档。