0

壊れたテストを修正しようとしています。テストを自動化するために、Webaii (Telerik) で VS2010 C# を使用しています。

Webページにテーブルがあり、10行(ページネーション付き)があり、各行には10列が含まれています(列名をA、B、C、D、Eと仮定します...)列「C」にチェックボックスがあります(ラベルなし)列「E」にはハイパーリンクがあり、以下はコードです。実行すると、アプリケーション番号の横にあるチェックボックスが見つかりません

string applicationNumber="A2341"
StringBuilder buffer = new StringBuilder();
buffer.Append("//a[contains(text(),'").Append(applicationNumber).Append("')]/../..//input[@type='checkbox']");
Generic.Find.ByXPath<HtmlInputCheckBox>(buffer.ToString()).Check(true, true); 

実行すると、アプリケーション番号の横にあるチェックボックスが見つかりませんしかし、以下のコードを使用すると、そのページで最初のチェックボックスをクリックしますが、アプリケーション番号に対応するチェックボックスはクリックしません

Generic.Find.ByXPath<HtmlInputCheckBox>("//input[contains(@type,\"checkbox\")]").Check(true, true);

私のコードの何が問題なのですか

4

1 に答える 1

0

私の解決策は

StringBuilder buffer = new StringBuilder();
buffer.Append("//a[contains(text(),'").Append(applicationNumber + "')]");
String id = Generic.Find.ByXPath(buffer.ToString()).IdAttributeValue.Split(new char[] { ':' })[2];
Generic.Find.ById<HtmlInputCheckBox>("dashboardForm:applicationTaskTable:" + id + ":application_checkbox").Check(true, true);
于 2015-01-15T02:48:25.243 に答える