私はWebAiiテストフレームワークの無料版[Telerikに買収される前にArtOfTestによってリリースされたもの]をかなり使用したので、基本的には機能することを知っています。ですから、私が今抱えている問題は完全に私を困惑させています。
既存のサイトでナビゲーションをテストし、一連のページを調べようとしています。(とりわけ)2つのボタンがあるページが表示されます。1つは、history.back()を呼び出すだけのjavascript関数を呼び出すonclickハンドラーを備えたボタンタイプの入力要素である「戻る」ボタンです。もう1つは送信ボタンです。
WebAiiは送信ボタンを見つけるのに問題はありません。しかし、私がそれをクリックするように言うとき、それは、すべての外観にとって、戻るボタンをクリックすることです。
このサイトの関連するHTMLは次のとおりです。
<div align="right">
<table border="0" width="200" cellpadding="8" style="border-collapse: collapse" bordercolor="#E0DFE3">
<tr>
<td>
<input type="button" value="<- Back" name="B2" onclick="cancelChange()" >
</td>
<td>
<input type="submit" value="Maint Details ->" name="lnkSubmit">
</td>
</tr>
</table>
</div>
そして、これがテストコードです:
HtmlInputSubmit maintDetailsButton = Find.ByAttributes<HtmlInputSubmit>("value=Maint Details ->");
maintDetailsButton.Click();
Assert.IsTrue(ActiveBrowser.Url.Contains(expectedPage), "URL {0} does not contain expected page {1}", ActiveBrowser.Url, expectedPage);
手動でクリックすると、一連の操作が正常に機能しているため、サイトの問題であるという証拠はわかりません。実際、「詳細の保守」ボタンではなく「戻る」ボタンをクリックしているという証拠をたくさん見てきました。(Fiddlerは、クリック要求が送信されたときに発行された要求を表示しません。ブラウザーはキャッシュから再表示するだけなので、history.back()の実行と一致します。クリックすると、実際には前のページに移動します。最後に、戻るボタンから「onclick」属性を削除してボタンをクリックしても何も起こらない場合、テストコードを実行しても、サイトは何もしません。単に現在のページに留まります。)
私は完全に困惑しています。誰かが私にヒントを与えることができますか?