** POST UPDATED ** Microsoft Dynamicsの環境へのシステムとの統合テストのためにコード化されたUI WebTestの、入力された文字は、時には編集フィールド
を、私たちが使用しているのVisual Studio 2010のコード化されたUIでは省略されています。私はVisual Studioの経験の浅いユーザーですが、テスト自動化の経験があります。
VS-Coded-UI-testが編集ボックスにテキストを入力しているときはいつでも、入力する必要がある文字の1つが省略されているという変更があります。 Beverly Hills 90210
のようなアドレスフィールドは簡単にBeverly ills 90210
になり、テストが壊れてしまいます。これは、200文字(教育された推測)で約1回発生します。
これまで経験したことがありますか?そして、どこに問題があるのでしょうか:VSのタイプレート、壊れたキーボードドライバ、ブラウザの不具合などで、テキスト入力を正しく受信できなかったのですか?
VSコード化されたUIでテストドライバのタイピング率を下げる可能性はありますか?
更新日、2012-05-24: まだ解決策が見つかりません。私は今、失敗の変化を減らすための仕事を使用しますが、それはまだ理想的ではありません。コードの周り
仕事(はい、それは汚れている):
// put this method in a base class or easy accessable component
protected void ExecuteWithRetry(Action method, int maxRetryCount = 2)
{
try
{
method();
}
catch (Exception)
{
if (maxRetryCount > 0)
{
ExecuteWithRetry(method, maxRetryCount - 1);
}
else
{
throw;
}
}
}
私はテキストフィールドが設定されているコードの一部を使用するたびに、私はこの方法によってこれを呼び出す:
UIMap.SetUserfieldsParams.EnterAddress = @"555 Sunset Boulevard";
UIMap.SetUserfieldsParams.EnterZIP = @"90210";
ExecuteWithRetry(UIMap.SetUserfields);
更新、2012-06-18:これは、私たちが使っている偽装によって引き起こされたようです。 Webアプリケーションにログオンしたユーザーは、IEを起動したユーザー名でADサーバーから直接抽出されます。偽装によってIEを開始することで、(手動で)ログオフしてWindowsにログオンすることなく、他のユーザーとのテストを行うことができます。名前空間にProcess.Start(ProcessStartInfo startInfo)
を使用して偽装を使用します。System.Diagnostics.Process
私はPlayBackSettings.DelayBetweenオプションを発見しました。これは、UIのアクションと_inside_アクションではないと仮定しました(タイピングは10文字/秒より速いためです)が、試してみる価値があります。 Continue on onエラーはオフになっているため、設定された値が検証されると例外が発生します。来週、私がそのプロジェクトに戻ったとき、私はあなたに知らせることができます。 – AutomatedChaos
あなたはDelayBetweenの上にいるので、キーボード入力に影響しないようです...キーボード入力速度を変更する正しい方法はKeyBoard.SendkeysDelayです – stoj
ありがとう!ニースを見つける! – AutomatedChaos