Mocha > Chai > PhantomJS を使用してヘッドレス テストを実行します。すべてがセットアップされ、機能していますが、フォームに不適切な資格情報を入力して、DOM 要素が作成されていることを確認しようとしています。
私がやりたいことは基本的にこれです:
it('should display error message string for bad credentials', function(done) {
page.evaluate(function() {
document.querySelector('input.form-input[type="text"]').value = 'foo@bar.com';
document.querySelector('input.form-input[type="password"]').value = 'wrongpass';
document.querySelector('input.form-action-b').click();
return document.querySelector('div.status-oops p').innerText;
}, function(result) {
result.should.equal('Username and password do not match.');
done();
});
});
しかし、私は取得しています:「キャッチされていない TypeError: null のプロパティ 'should' を読み取ることができません」
... div.status-oops がまだ存在しないためです。Chrome コンソールでも同じ結果が得られますが、数秒後に同じテキストを表示しようとすると、問題なく動作します。
返品を遅らせる方法はありますか?