Как определить флажок в таблице, если я могу найти текстовую строку в той же строке?

Я пытаюсь исправить сломанный тест. Я использую VS2010 C# с Webaii (Telerik) для автоматизации теста.

Я получил таблицу на веб-странице и имеет 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);

что не так с моим кодом

1 ответ

Решение

Мое решение

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);
Другие вопросы по тегам