.perform() 編集を提案
コールバックでNightwatch APIにアクセスできるシンプルなperformコマンドです。他のコマンドで設定された変数を読み取りたい場合に便利です。
コールバックのシグネチャは、最大2つのパラメータを持つことができます。
- パラメータなし: コールバックが実行され、コールバックの実行終了時にperformが直ちに完了します。
- パラメータ1つ: コールバック内での非同期実行が可能で、完了のためのdoneコールバック関数が最初の引数として提供されます。
- パラメータ2つ: 非同期実行が可能で、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
})
}
パラメータ
名前 | 型 | 説明 |
---|---|---|
callback |
function | キューの一部として実行する関数。 |