对Dojo工具包的最佳支持



我正在尝试使用Dojo工具包使用IBM EGL创建的Web应用程序。Dojo的问题是,它每次都会动态生成ID,因此不能将其用作定位器。另外,许多元素都没有XPath,因此也无法使用。

当我搜索" dojo"one_answers" selenium"时,这似乎是一个普遍的问题,但我还没有找到任何解决方案。

其他测试工具对特定框架具有"明确的"支持(例如,就像Dojo一样(,因此我认为它在技术上是可行的。

这是一个网站的摘录,在该网站上提出了同样的问题,并且最opent最支持构建宏,这些宏能够完成这种不稳定的.NET代码。请参考下面的块以及源

我使用Selenium测试由Dojo/Dijit构建的Web应用程序 和ASP.NET MVC,到目前为止,它可以正常工作。

我以前遇到了同样的问题。我的方式是"不要想 关于Dojo小部件"编写步骤与它们交互时。 它们是正常的复合物html元素。您需要浏览您的DOM树 在Dojo解析您的小部件之后,在客户上,找到真实的DOM dijit的值节点或交互零件对应的元素 并做事(在您的情况下单击,sendkey或getID(。

将一些共同的动作包裹在助手中也很好 可以在您的项目中重复使用。

下面是一个简单的.NET示例,我用来测试是否存在一个按钮 DGRID,我只使用CSS选择器来查找单元格,希望它有所帮助:

       [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); 
        }

相关内容

  • 没有找到相关文章

最新更新