2

コントロールが存在するのを待っていますが、ボタンが存在する前にテストが失敗します。

エラーが発生します:The control is not available or not valid

私が使用しているコードは次のとおりです。

uIOKButton.WaitForControlExist(2000000);

// Click 'OK' button
Mouse.Click(uIOKButton, new Point(46, 19));

タイムアウトは、3時間に設定していても、30分後にタイムアウトになります。そのため、タイムアウトが想定どおりに機能していません。とにかくその周りにありますか?

タイムアウトを増やす以外に失敗を防ぐ方法はありますか?

4

7 に答える 7

1

私はこのようにしました:

while (!uIItemComboBox.Exists)
        {
            System.Threading.Thread.Sleep(1000);
        }
uIItemComboBox.SelectedItem = this.MyComboBox.UIItemComboBoxSelectedItem;

もっと良い方法があると確信していますが、うまくいきます。

于 2012-08-21T12:00:45.383 に答える
0

次のようなチェックを追加することをお勧めします。

int count = 1;
while (btnExists() == false){ 
    if (count > 1000) {
        //fail test or say that btn is not available
     }
    count ++;
    wait (1);
}

必要以上に待つ必要はありません。btn が利用可能になる限り、テストは続行されます。ただし、btn が表示されない場合に備えて、ある時点で終了ポイントを持つように「count」を設定してください。

于 2012-07-31T15:44:17.630 に答える
0

if ステートメントの代わりに while ループを使用できます

コードは次のようになります

loopcyle = 1;
While(!uIOKButton.WaitForControlExist(2000) && loopcycle <=20)
{
    // Click 'OK' button
    Mouse.Click(uIOKButton, new Point(46, 19));
    loopcycle ++;
    break;
}

ありがとう、Karthik KK

于 2012-08-01T02:28:34.017 に答える
0

あなたが最初にしたことは、それを行う正しい方法です。ただし、30 分後にデフォルトのテスト タイムアウトが表示されます。

Solution Items フォルダーの下のテスト ソリューションで、local.testsettings を見つけます。

それをダブルクリックし、タイムアウトに移動して、デフォルトのタイムアウトの 30 分を削除します。

于 2012-08-28T01:01:11.440 に答える