2009-08-31 14 views
0

私は私のウェブサイトの統合テストにsimpletestを使用しています。私はある時間(ページがリダイレクトされている間)待つように内部のブラウザに指示してから、assertTextを実行する必要があります。cakephp simpletestウェブテスター遅延/スリープ機能

これを行う簡単な方法はありますか?

答えて

1

CakeTest環境からのリダイレクトを「簡単に」する方法はありません。

これを行うには、SimpleTestライブラリに移動してそこで変更を加える必要があります。ここで

が関与するクラスのアイデアです:

cake_web_test_case - > web_test_case(web_tester.php) - > simple_browser(browser.php) - > simple_user_agent(user_agent.php)

あなたがしたい場合はリダイレクトを遅くすると、/vendors/simpletest/user_agent.phpを開き、 "function & _fetchWhileRedirected"を編集することをお勧めします。 do..whileステートメントにsleep()を追加するだけで、リダイレクトが遅くなるはずです。

これが役に立ちます。

+0

このページには、http-equiv = refreshというメタがあります。実際にはHTTPの戻りコードは200ではありません。このRefreshをSimpleTest/WebTesterにどうやって対応させることができますか? –

+1

メタリフレッシュを探しているので、 "$ this-> get"または "$ this-> post"の結果からその文字列を解析してみませんか?新しいURLを取得したら、sleep()を入れてから別の$ this-> get($ new_url)を実行することができます。 – Dooltaz

+0

例: 1)$ page = $ this-> get($ url); 2)$ url = $ this - > _ parse_page($ page); 3)sleep(10); 4)$ new_page = $ this-> get($ url); わかりませんが、これはあなたが探しているものですか?関数_parse_pageは、基本的に正規表現やテキストマッチングを行い、新しいURLを抜き出します。 – Dooltaz

関連する問題