0

asp.net Webアプリケーションでさまざまなデータ収集手順を実行するために、コード化されたUIテストをいくつか記録しました。ただし、ユーザーが「ウィザード」をステップ実行するときにHTMLをオンザフライでレンダリングするカスタムコードがあります(一般的な用語としてウィザードを使用するだけです)。したがって、ブラウザの観点からは、ユーザーは常に同じページ(Wizard.aspxなど)にアクセスしますが、ページがポストバックされると、異なるHTMLが異なるコントロールでレンダリングされます。

その結果、コード化されたテストの実行中に、ポストバック後にレンダリングされるhtmlが十分に速くレンダリングされておらず、検索でコントロールが見つからないために失敗することがあります。これはクリックでも発生します。再生がコントロール、つまりまだレンダリングされていない可能性のあるボタンをクリックしようとしています。ステップ間に手動でThinkTimeを追加することでこれを修正しましたが、ハックのように感じます。コード化されたUIテストが進行しているので、コントロールがレンダリングされるまで待機するように再生に指示する方法はありますか?WaitForControlExistメソッドを見ましたが、どこで使用するかがわかりません。

4

1 に答える 1

0

私は実際に、これが誰かを助ける場合に備えて、各ステップの後に手動の遅延を追加せずに構成ファイルからこれを駆動する方法を見つけました。各アクション間に3秒(3000ミリ秒)の待機時間を設定します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="DelayBetweenActions" value="3000" />
    <add key="WaitForReadyTimeout" value="60000"/>
  </appSettings>
</configuration>
于 2011-07-07T12:45:55.273 に答える