0

我正在尝试修复损坏的测试。我正在使用带有 Webaii (Telerik) 的 VS2010 C# 来自动化测试。

我在网页中有一个表格,有 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 回答