私のサイトには次の設定があります。
ログイン ページで資格情報を入力すると、ユーザーを検証して適切なホームページにリダイレクトする 2 番目のページ (通常は画面出力は生成されません) に移動します。
私のステップ定義は、次の 3 つのステップで構成されています。
- 初期ログインページをロードします。
- 資格情報を入力して送信します。
- ホームページで作成したことを (ページ タイトルをチェックして) 確認します。
私の最初の一歩は見事に合格しました。
私の 2 番目のステップは成功したと主張しています。
私の 3 番目のステップは失敗します。
レビューの結果、2 番目のステップは、公式には失敗していませんが、本来の動作をしなかったことが原因であることがわかりました。ゾンビが検証ページでスタックしました。最初はリダイレクトがないだけだと思っていましたが、検証ページでは何も実行されていないようです。ページ全体をコメントアウトして、ページの上部に「Hello」の出力を配置するだけです。もし私の browser.html(); 信じられますが、それはわかりません。私は持っているので、私は2番目のページにたどり着いたことを知っています
console.log("\n" + browser.location.href);
2 番目のページの URL が表示されます。
私はそれから持っています
console.log(browser.html());
空です。
私も持っています:
browser.wait(10000,callback);
事前に処理時間を与えるためですが、役に立ちません。
関連する可能性のある情報:
これは ColdFusion サイトです。ログインページを最初にロードしているので、ゾンビがCFの概念を処理していることは知っていますが、実際のCF処理はあまり行われていません。
DBアクセスが発生しています。ゾンビが通常のブラウザーのようにアクセスしている場合、違いはありませんが、存在します。すべてをコメントアウトしても機能しないので、実際に関係があるとは思えません。
これは、ログイン ステップのスクリプト部分です。これに間違った方法でアプローチしている場合は、アドバイスしてください。
this.When(/^I input my credentials$/, function(callback) {
browser.fill("login", "myusername").fill("password", "mypassword");
browser.document.forms[0].submit();
// Put in here to account for redirect time it will take to get past validation page to actual home page
browser.wait(10000,callback);
callback();
});
その他の情報が必要な場合は、お知らせください。これを機能させるために、何か助けていただければ幸いです。