私はWatiNテストツールを使用していて、c#.netスクリプトを書いています。Webページのテーマを変更する必要があるシナリオがあるので、これを行うには、画像を含むajaxポップアップを開く画像ボタンと、画像の下にある[テーマを適用]ボタンをクリックする必要があります。ボタンをクリックする必要があるので、これを行う方法はいくつかの解決策を提案してください。
4 に答える
したがって、最初にポップアップを表示するボタンをクリックし、ポップアップ内のボタンに対して.WaitUntilExists()をクリックします。
IE.Button("ShowPopup").click()
IE.Button("PopupButtonID").WaitUntilExists()
IE.Button("PopupButtonID").click()
これは、ポップアップのボタンが存在するが非表示になっている場合は機能しない可能性があります。その場合、.WaitUntil()を試して、検索する属性を指定できます。
IE.Button("ButtonID").WaitUntil("display","")
コントロールの読み込みのタイミングを非同期で処理する場合、Ajaxポップアップ自体は問題になりません。ajaxコントロールツールキットを使用している場合は、次のように解決できます
int timeout = 20;
for (i=0; i < timeout; i++)
{
bool blocked = Convert.ToBoolean(ie.Eval("Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();"));
if (blocked)
{
System.Threading.Thread.Sleep(200);
}
else
{
break;
}
}
コントロールが表示されていると、通常どおりにアクセスできるはずです。
Watin 1.1.4は、コントロールにもWaitUntilのサポートを追加しましたが、私はそれを個人的に使用していません。
// Wait until some textfield is enabled
textfield.WaitUntil("disable", false.ToSting, 10);
WaitUntilExistsで問題が発生したため、ajax同期の実行方法について投稿しました:http: //lebobitz.wordpress.com/2011/03/06/synchronizing-watin-and-ajax-with-jquery/
私はajaxコントロールツールキットを使用していません。ポップアップにはテキストフィールドがありません。画像とその下のボタンだけがあり、その画像をテーマとして適用するにはクリックする必要があります。