[Then("I can delete it at row '(.*)'")]
public void Then_I_can_delete_it_at_row(int rowIndex)
{
var nthRow = Browser.FindElementsChecked(By.CssSelector(".dgrid-content .dgrid-row-table")).ElementAt(rowIndex - 1);
var deleteBtnsInRow = nthRow.FindElementsChecked(By.XPath(".//span[text() = 'Delete']"));
Assert.AreEqual(1, deleteBtnsInRow.Count);
}
1条答案
按热度按时间ifsvaxew1#
下面是一个网站的摘录,在这个网站上也有人提出了同样的问题,OpenTest支持构建宏,这些宏可以做这个独立的.NET代码所能做的事情。请参考下面的引用以及source
我使用Selenium来测试我的Web应用程序,它是由Dojo/dijit和asp.net MVC构建的,到目前为止它运行良好。
我以前也遇到过同样的问题。我的方法是在编写与dojo小部件交互的步骤时“不要考虑它们”。将它们视为普通的复杂html元素。在dojo解析了小部件之后,您需要在客户端上浏览您的dom树,找到dijit的值节点或交互部分所对应的真实的的dom元素,并对其执行操作(在您的情况下为Click、SendKey或GetId)。
将一些常见的小部件操作 Package 到Helper中也是很好的,这样可以在项目中重用。
下面是一个简单的.NET例子,我用它来测试一个按钮是否存在于一个dGrid中,我只是使用css选择器来查找单元格,希望它能有所帮助: