0

Microsoft のコード化された UI を使用して、html ページへの値の入力を自動化しようとしています。通常の方法 (つまり、アクションの記録によって取得されたハードコードされた値) を使用すると、すべて正常に動作しますが、params メソッドを使用して明示的な値を渡すと、まったく機能しません。さらに悪いことに、この時点ではテストは失敗せず、そのステップをスキップしているように見えます。テストのデータ駆動型の側面をセットアップするとき、または何か他に試してみることができるかどうか、誰かが私に欠けているもの(もしあれば)のアイデアを教えてくれることを願っています. ありがとうエリック

テスト自体からのデータ接続文字列は次のとおりです [DeploymentItem("PFChecks\Data\Company.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\Company.xml", "Iteration "、DataAccessMethod.Sequential)、TestMethod]

そして、params メソッドを使用してフィールドに値を設定しようとするコード行。usEnterSSN.methodUserSyncEnterSSNParams.UISsnoEditText = "012831444";

このメソッドで使用できるオブジェクトは、UISsnoEditText オブジェクトだけです。オブジェクト名は UI マップで正しく、Web ページ自体で名前が付けられているものと一致します。上記のように値を明示的に設定した場合、または TestContext.DataRow メソッドを使用した場合、params メソッドは機能しません。どんなアイデアでも大歓迎です。この質問に答えるためにさらに情報を提供できるかどうか教えてください. ありがとうエリック

4

2 に答える 2

0

3つのことが起こります。

(1) 上記の割り当ては正しい場所にありますか? はuimap...xxxParams.yyyEdit = ...;、それを使用するメソッドの呼び出しの前にある必要があります。

(2) Visual Studio デバッガーを使用して、ブレークポイントを設定し、コード化された UI テストをステップ実行できます。codeduitest.cs(ファイルを右クリックして、 [テストのデバッグ] を選択する必要があります。

(3)質問を明確にするコメントから。割り当てと呼び出しの両方が必要です。したがって、一般的な形式はuimap...xxxParams.yyyEdit = ...; uimap...xxx();です。メソッド呼び出しは から値を読み取ります...Params。デフォルト値は、テストの記録時に入力された値です。割り当ては、アイテムのデフォルト値を上書きします...Params

http://blogs.msdn.com/b/mathew_aniyan/archive/2010/02/11/content-index-for-coded-ui-test.aspxからリンクされたデータ ドリブン テストに関するいくつかの良い議論があります。コード化された UI テストに関するその他の多くの項目。

于 2013-07-25T16:02:11.363 に答える
0

私が考えることができる2つのことがあります。

  1. 編集してから作業する前に、コードを UIMap.cs ファイルに移動していますか? そうでない場合は、そうする必要があります。

  2. UIMap.uitest ファイルから特定の検索プロパティとフィルタ プロパティを削除してみてください。

これで問題が解決しない場合は、さらに情報が必要です。おそらくスクリーン キャップも必要です。

于 2013-07-25T15:16:52.173 に答える