2017-08-24 8 views
0

私はテストスイートを開発しています。私は、ページが準備完了であることを確認した唯一の方法は、セレクタ 'div.spinner'が消えるときです。 は、私は(PhantomJsまたはSlimerJs付き)CapserJsで、この条件をキャッチ行うことができました:CodeceptJsがDOMから消えるのを待っている

casper.waitWhileSelector('div.spinner'); 

私はnightmarejs 2.10.1でcodeceptjs 1.0.1に切り替えなければならなかったと私は正しくこの条件を翻訳することはできません。

テストする環境がたくさんあるので、あらかじめ定義された時間を待つことを避けなければなりません。負荷に応じて、待機時間は1秒から40秒+まで変化します。

は現在、私は誰もが同じような問題があったんキャスパー機能codecept Casper.prototype.waitWhileSelector

を上に複製することを計画していますか?私はCodeceptJsのいくつかの機能が欠けていますか?

Related github issue

参考のために、事前

答えて

0

のおかげで、このメソッドは、名前のwaitUntilExistsでマージされました:

https://github.com/Codeception/CodeceptJS/pull/683 https://github.com/Codeception/CodeceptJS/issues/682

を、それを使用するには、次のような何かを行うことができます

describe('#waitUntilExists',() => { 
    it('should wait for an element to be removed from DOM',() => { 
    return I.amOnPage('/spinner') 
     .then(() => I.seeElementInDOM('.loader')) 
     .then(() => I.waitUntilExists('.loader')) 
     .then(() => I.dontSeeElement('.loader')) 
    }); 

    it('should wait for a non-exising element to be removed from DOM',() => { 
    return I.amOnPage('/spinner') 
     .then(() => I.dontSeeElement('.non-existing-class')) 
     .then(() => I.waitUntilExists('.non-existing-class')) 
     .then(() => I.dontSeeElement('.non-existing-class')) 
    }); 
}); 
関連する問題