2016-07-01 8 views
2

まあ、私はボタンをクリックする、AJAXページ上でテストするcodeceptionを使用していたし、AJAX要求が行われた後、テキストのいくつかの種類が示されています。 コード受入受諾テスト:AJAXリクエストをテストするには?

$I->amOnPage('/clickbutton.html'); 
$I->click('Get my ID'); 
$I->see('Your user id is 1', '.divbox'); 

ご覧のとおり

は、テストが返された「あなたのユーザIDが{$ idは}である」という方法で動作することになっているとのdivボックスを更新し、(このケースである1 ID)テキスト。しかし、それはまったく動作しません、代わりにdivボックスが空白であるとテストでは言います。私は何を間違えたのですか?どのようにAJAXリクエストをテストするためにコード化を使用できますか?

+0

使用webdriverをモジュール良くないです...これはかなりビルド時間を増やすことができます多くのテスト、アクロス。 – Naktibalda

答えて

0

あなたはあなたの要求はあなたがdiv要素をチェックする時間で仕上げていますか?リクエストを送信した後に少し待ち時間を追加してみてください:あなたはまた、これを使用することができ

$I->amOnPage('/clickbutton.html'); 
$I->click('Get my ID'); 

$I->wait(1); //add this 

$I->see('Your user id is 1', '.divbox'); 
1

:(秒)

$I->click('#something'); 
$I->waitForText('Something that appears a bit later', 20, '#my_element'); 

20 =タイムアウトを、それにいくつかのまともな価値を与えます。

彼らは通常、数秒で彼らを待っているよりもはるかに高速であるため、それは、代わりに$I->wait(X);のようなものを下に打撃のもう少し柔軟です。あなたはあなたが「待機」する必要がある多くの要素を持っているのであれば、例えば、のは15-20を言わせて、その後、あなたのテストは、実際の操作は多分1-2S合計でフィニッシュしながら、「待機中」15-20秒を過ごすことになります。 :)

関連する問題