添加命令
要向 Selenium IDE 添加命令,首先确保在清单中声明它。
声明命令后,Selenium IDE 会要求你响应执行和发出的请求。
执行命令
回放到达你的命令后,你将收到一个请求来执行它。
{
action: "execute",
command: {
command: "commandId",
target: "target specified",
value: "value specified"
},
options: {
runId: "unique identifier",
testId: "test identifier",
frameId: "the frame context",
tabId: "the tab context",
windowId: "the window context"
}
}
操作
-执行
,此操作要求你执行命令。
命令
命令详细说明了用户在表格中输入的内容
命令
- 命令 ID(不是友好名称),如清单中所示。目标
- 填写的目标(如果你的命令没有目标,可以安全地忽略它)。值
- 填写的值(如果你的命令没有值,可以安全地忽略它)。
选项
播放选项,详细说明执行环境
runId
- 可选,当前测试运行的唯一标识符,可用于推断在同一运行期间执行了某些命令。testId
- 测试的持久唯一标识符,即使测试内容可能发生更改,也始终会发送相同的标识符。frameId
-integer
或0 || undefined
指示应在哪个框架下执行命令,0
或undefined
指示应在window
级别执行命令。tabId
- 执行命令的选项卡。windowId
- 包含待测选项卡的窗口。
注意:如果用户双击命令单独执行它,则不会生成 runId
,这可用于确定是单个命令运行还是完整测试运行。
将结果发送回 IDE
要向 IDE 发送有效的响应,首先必须确定希望 IDE 显示的 4 种可能结果中的哪一种。
通过
您的命令已通过。
sendResponse(true);
未确定
如果您的命令已完成,但无法可靠地确定它是否已通过。
要稍后更新命令状态,请使用 回放 API。
sendResponse({ status: "undetermined" });
软故障
您的命令已失败,但测试用例可以在其之后继续执行(例如 verify
命令)。
sendResponse({ error: "detailed error to show the user" });
硬故障
您的命令已失败,导致测试无法继续(例如 click
)。
sendResponse({ error: "detailed error to show the user", status: "fatal" });
发出命令
为了使用 命令行运行器 运行测试用例,命令还必须提供 JavaScript 代码片段来执行它。
如果不提供,用户在尝试保存测试用例时将收到错误。
在实现命令的代码发出之前,了解发出工作原理的一般概念将很有用(链接)。
本文只关注命令的测试代码,如果您的插件需要添加设置和清除代码,请参阅发出设置和清除代码。
Selenium IDE 将发送一个请求来发出您在清单中注册的命令。
{
action: "emit",
entity: "command",
command: {
command: "commandId",
target: "target specified",
value: "value specified"
}
}
action
-emit
,此操作表示必须发出代码。entity
-command
,此实体表示要发出的命令。
命令
命令详细说明了用户在表格中输入的内容
命令
- 命令 ID(不是友好名称),如清单中所示。目标
- 填写的目标(如果你的命令没有目标,可以安全地忽略它)。值
- 填写的值(如果你的命令没有值,可以安全地忽略它)。
返回已发出的代码
一旦您完成创建用于执行命令的 JavaScript 字符串,请将其发回 IDE。
不要使用return
关键字,如果您需要等待 Promise,请使用await
,return
将导致测试提前退出。
注意:不要美化代码或插入新行,IDE 会对其进行美化。
sendResponse(`driver.findElement().then((element) => {element.perform...});`);
您可以在 IDE 的内部发出模块中查看详尽的示例。