TestUtils 模块¶
- class TestUtils()¶
TestUtils 提供了一些通用的测试实用程序。它可以同时用于 mochitests、浏览器 mochitests 和 xpcshell 测试。
- static TestUtils.consoleMessageObserved(checkFn)¶
等待观察到与指定检查函数匹配的控制台消息。
- 参数:
checkFn (function) – [可选] 使用消息作为其参数调用,如果通知是预期的,则应返回 true,否则如果应忽略它并且应继续监听,则返回 false。
- 返回值:
Promise –
- static TestUtils.listenForConsoleMessages()¶
监听任何控制台消息(通过 console.* 记录)并在返回的函数被调用时返回它们。
- 返回值:
function – 返回一个异步函数,当被调用时,它将等待一个 tick,然后停止监听任何更多的控制台消息,最后将返回已接收的消息。
- static TestUtils.screenshotArea(eltOrRect, win)¶
截取某个区域的屏幕截图并将其作为数据 URL 返回。
- 参数:
eltOrRect (Element|Rect) – 要截屏的 DOM 节点或矩形({left, top, width, height})。
win (Window) – 当前窗口。
- static TestUtils.topicObserved(topic, checkFn)¶
等待观察到指定的主题。
- 参数:
topic (string) – 要观察的主题。
checkFn (function) – [可选] 使用 (subject, data) 作为参数调用,如果通知是预期的,则应返回 true,否则如果应忽略它并且应继续监听,则返回 false。如果未指定,则指定主题的第一个通知将解析返回的 promise。
- 返回值:
Promise –
- static TestUtils.waitForCondition(condition, msg, interval, maxTries)¶
将轮询条件函数,直到它返回 true。
- 参数:
condition – 必须返回 true 或 false 的条件函数。如果条件发生异常,则此函数失败并拒绝返回的 promise。该函数可以是异步函数。
msg – 用于描述正在等待的条件的消息。如果等待失败,此消息将用于拒绝 promise。它还用于添加分析器标记。
interval – 轮询条件函数的时间间隔。默认为 100 毫秒。
maxTries – 在放弃并拒绝(如果条件尚未返回 true)之前轮询的次数。默认为 50(对于 100 毫秒间隔,大约 5 秒)。
- 返回值:
Promise 使用条件函数的返回值解析。如果超时或条件发生异常,则拒绝。注意:这有意不使用 setInterval,而是使用 setTimeout。setInterval 不是 promise 安全的。
- static TestUtils.waitForPrefChange(prefName, checkFn)¶
等待指定的首选项更改。
- 参数:
prefName (string) – 要观察的首选项。
checkFn (function) – [可选] 使用新的首选项值作为参数调用,如果通知是预期的,则应返回 true,否则如果应忽略它并且应继续监听,则返回 false。如果未指定,则指定主题的第一个通知将解析返回的 promise。
- 返回值:
Promise –