插件 API 简介
虽然 Selenium IDE 可以向你发送请求以执行一项任务(执行命令或发出命令),但你也可以要求 IDE 执行一项任务。
Selenium IDE 实现了一个类似 HTTP 的消息传递协议。有关其工作原理的概述,请参阅 调用 API。
API 结构
API 按权限域(例如回放、记录等)进行组织。
版本控制
API 中的uri
从/
开始,并进行版本控制,当前活动版本为 1,调用没有版本的uri
表示最新版本。
/register
- 注册函数的最新版本。/v1/register
- 注册v1
动词
该 API 支持类似 HTTP 的动词(get
、post
、delete
、put
)。
每个动词决定资源的不同功能。
get
- 获取资源或其信息。post
- 创建新资源。put
- 更新资源。delete
- 删除资源。
错误
如果在发送请求时关闭窗口,Selenium IDE 将不会响应,并且 Promise 将拒绝。
或者,如果 Selenium IDE 已打开,它可以成功(这将解决 Promise),或将“userland”错误传回给您,因为错误无法序列化。
连接错误
当 IDE 窗口关闭时,将发生连接错误,因此 promise 将拒绝。
browser.runtime.sendMessage(SIDE_ID, payload).catch((error) => {
console.error(error); // connection error
});
请求错误
当请求无效时,将发生请求错误,例如对不存在的资源的请求,如 fetch。此类请求使用附加在它们上的错误解决承诺。
browser.runtime.sendMessage(SIDE_ID, payload).then((response) => {
if (response.error) {
console.error(response.error); // request error
}
});
成功请求
成功请求是指响应对象中未定义 error
的请求。每个端点都有自己的响应,并且大多数 post
请求在成功时将响应 true
。
browser.runtime.sendMessage(SIDE_ID, payload).then((response) => {
if (!response.error) {
console.error(response); // true
}
});