.perform() 建议编辑
一个简单的 perform 命令,允许在回调中访问 Nightwatch API。如果您想读取其他命令设置的变量,这将很有用。
回调签名最多可以包含两个参数。
- 无参数:回调运行,并在回调执行结束时立即完成 perform。
- 一个参数:允许在回调中进行异步执行,为完成提供一个 done 回调函数作为第一个参数。
- 两个参数:允许进行异步执行,并将 Nightwatch
api
对象作为第一个参数传递,然后是 done 回调。
在异步执行的情况下,超时可以通过设置 asyncHookTimeout
全局变量来控制。有关更多信息,请参阅 使用测试全局变量。
用法
示例
describe('perform example', function() {
var elementValue;
it('basic perform', function(browser) {
browser
.getValue('.some-element', function(result) {
elementValue = result.value;
})
// other stuff going on ...
// self-completing callback
.perform(function() {
console.log('elementValue', elementValue);
// without any defined parameters, perform
// completes immediately (synchronously)
})
// returning a Promise
.perform(async function() {
console.log('elementValue', elementValue);
// potentially other async stuff going on
return elementValue;
})
// DEPRECATED: asynchronous completion including api (client)
.perform(function(client, done) {
console.log('elementValue', elementValue);
done();
});
});
it('perform with async', function(browser) {
const result = await browser.perform(async function() {
return 100;
});
console.log('result:', result); // 100
})
}
参数
名称 | 类型 | 描述 |
---|---|---|
回调 |
功能 | 作为队列的一部分运行的功能。 |