テスト ケースを自動化するために、codedUI を使用しています。また、当社の開発者は Telerik による Kendo UI コントロールを使用しています。ユニークな名前のコントロールでの録音と再生に問題はありません。しかし、同じドキュメントに動的にレンダリングされ、一意の識別子として名前しか持たないコントロールはほとんどなく、html は自動的に作成され、開発者は名前を変更したり、その html に id を追加したりすることはできません。したがって、名前には GUID が自動的に追加され、この GUID はほとんどの場合、テスト ケースの実行時に変更されます。名前フィールドで代わりにコントロールを使用してみましたが、GUID が名前の途中にあるため、使用するのは非常に困難です。たとえば、「Courses[138a47d6-8313-4df4-b39f-caeffd0aecf2].ExternalCoatingId_input」と「一意の検索基準として機能しない (ExternalCoatingId_input)) を含みます。実際に必要なのは、「Courses_ExternalCoatingId_input_GUID」のような名前または ID です。私の開発者は私の問題を理解し、私が要求した形式で ID を追加しましたが、自動生成された html を制御できないため、上記の名前の実際のコントロールにリンクされた隠しコントロールを作成し、それに ID を追加しました。以下は、その種類のコントロールのサンプル HTML コードです。一意の検索基準として機能しない (ExternalCoatingId_input)) を含みます。実際に必要なのは、「Courses_ExternalCoatingId_input_GUID」のような名前または ID です。私の開発者は私の問題を理解し、私が要求した形式で ID を追加しましたが、自動生成された html を制御できないため、上記の名前の実際のコントロールにリンクされた隠しコントロールを作成し、それに ID を追加しました。以下は、その種類のコントロールのサンプル HTML コードです。上記の名前の実際のコントロールにリンクされた隠しコントロールを作成し、ID を追加しました。以下は、その種類のコントロールのサンプル HTML コードです。上記の名前の実際のコントロールにリンクされた隠しコントロールを作成し、ID を追加しました。以下は、その種類のコントロールのサンプル HTML コードです。
" span class="k-widget k-combobox k-header" style="width: 220px;" span class="k-dropdown-wrap k-state-default" unselectable="on" tabindex="-1"> input class="k-input" type="text" autocomplete="off" name="Courses[138a47d6-8313-4df4-b39f-caeffd0aecf2].ExternalCoatingId_input" style="width: 100%;" role="combobox" aria-expanded="false" placeholder="Select External Coating ..." tabindex="0" aria-disabled="false" aria-readonly="false" aria-autocomplete="both" aria-owns="tank- component-external-coating-Course-a490312e-c9f5-494a-8d3f-3ccdc33f7660_listbox" aria-activedescendant="タンク-コンポーネント-外部コーティング-コース-a490312e-c9f5-494a-8d3f-3ccdc33f7660_option_selected" aria-busy="false">
span class="k-select" unselectable="on" tabindex="-1"> スパン
input id="tank-component-external-coating-Course-a490312e-c9f5-494a-8d3f-3ccdc33f7660" type="text" style="width: 220px; display: none;" name="Courses[138a47d6-8313-4df4-b39f-caeffd0aecf2].ExternalCoatingId" data-val-number="フィールド ExternalCoatingId は数値でなければなりません。" data-val="true" data-role="combobox" aria-disabled="false" aria-readonly="false"
スパン "
しかし、そのコントロールの UImap.uitest にこの ID を追加してテストを再生しようとすると、"{"非表示のコントロールで「クリック」を実行できないというエラーが表示されます。追加の詳細: \r\nTechnologyName: 'Web'\r\nControlType: 'Edit'\r\nTagName: 'INPUT'\r\nId: 'tank-component-external-coating-roof-7341237e-a359-4fb9-b9a3 -29a282c44480'\r\nName: 'Roofs[4400736d-2a50-40ae-87f2-41acdf200e1f].ExternalCoatingId'\r\n"}" Visual Studio 2012 Premium と Windows 8 OS および IE 10 を使用しています
問題の非常に詳細な説明をお詫びしますが、この特定のフォーラムでヘルプを見つけることができませんでした. 「非表示のコントロールをクリックできない」について議論しているフォーラムスレッドはほとんど見つかりませんでしたが、私の問題とはまったく関係ありません。非表示のコントロール ID を使用してテスト ケースを正常に実行する方法について、ご意見をお聞かせください。
ありがとう、ラジ