我正在尝试为使用kendo网格的应用程序编写UI测试。我使用硒驱动浏览器,并且在网格中选择一行时遇到问题。通过硒web驱动Kendo UI网格选择行
我已经能够选择这样的正确的行:
IWebElement matterToSelect = MatterToSelectGrid.FindElement(By.XPath("//td[text()='" + matterId + "']/ancestor::tr"));
我希望简单地调用。点击()的webElement,但没有奏效。所以我试着建立一个动作:
new Actions(Driver).MoveToElement(matterToSelect).Click().Build().Perform();
也没有快乐。好吧,用js选择它怎么样?:
IJavaScriptExecutor js = Driver as IJavaScriptExecutor;
js.ExecuteScript("return $(\"tr[data-uid='" + id + "']\").trigger('click');");
还是没什么,那么更直接的选择,看它是否会起作用呢?
js.ExecuteScript("return $(\"#sourceGrid > table:nth-child(1) > tbody:nth-child(3) > tr:nth-child(1) > td:nth-child(1)\").click();");
grrrr仍然没有运气。所以我的下一个想法可能是剑道网格有一个我可以使用的select()方法?好吧,似乎是的,但从我读的东西,我还需要重新绑定网格?所有我能找到的exaples是这个样子:
$("#sourceGrid").data("kendoGrid").select()
,但我不想给电网从我的测试重新绑定,所以我没有试过。另外,我不确定data()中应该是什么,因为所有的网格都是使用Html帮助器方法设置的,并使用.dataSource方法绑定到操作方法。有没有人有更好的建议?