您使用什么属性进行Selenium测试?

时间:2009-04-22 09:49:20

标签: selenium

我们可以通过以下几种方式在网站上搜索特定字段:基于css,名称,ID,结构,甚至是找到的任何文本。 您决定使用哪种方式?

最佳做法是什么?

编辑:我从开发人员的角度问: 如何编写代码,通过一个方法更容易使用Selenium进行测试(即:能够通过它的名称搜索所有这些代码)

5 个答案:

答案 0 :(得分:3)

我们通常远离xml结构,结果产生了太脆弱的测试。我们的内部组织使CSS名称不受限制,因为这是设计人员操纵的。您不希望测试中断,因为有人将样式从heading1更改为heading2。

我们选择了一个主要基于id的解决方案。有时我们甚至用id来检测HTML只是为了能够进行硒测试。

此外,我们还会查找文本(应用程序文本),但国际化使这有点痛苦;我们已经让我们的测试夹具区域设置了。

答案 1 :(得分:2)

如果您记得这么做,ID几乎总是最好的。

答案 2 :(得分:2)

我倾向于支持XPath表达式寻找'id'或'name'属性。

但是,如果您经常在IE6中执行测试,请注意将XPath用于定位器表达式。与以后的版本或Firefox相比,IE6在IE6中的运行速度明显较慢。我有一个相当大的SeleniumRC测试套件,用IE6完成需要花费三个小时,相比之下,使用Firefox只需要一个小时..(所有这些时间都不是由XPath引起的,但确实有很大贡献)。 / p>

答案 3 :(得分:2)

过了一段时间我发现了其他选项:创建自己的属性并为Selenium IDE构建javascript函数,以根据此属性生成xpath。那并不难:)

它使得生成和维护测试变得更加容易(当突然跨度成为div时);)

答案 4 :(得分:0)

确保在整个代码中使用id会有很大帮助!即使该元素从跨度变为div,id也保持一致。 'name'与id类似。链接是不错的,但你必须注意链接文本不会是可能会改变的东西。

这是我对定位器的排名,从最好到不好: ID 名称 链接 CSS UI xpath的