4

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

什么是最好的做法?

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

4

5 回答 5

3

我们通常远离 xml 结构,结果证明它会生成过于脆弱的测试。我们的内部组织禁止使用 CSS 名称,因为这是供设计人员操作的。您不希望您的测试中断,因为有人将样式从标题 1 更改为标题 2。

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

此外,我们还寻找文本(应用程序文本),但国际化使这有点痛苦;我们已经让我们的测试夹具语言环境知道。

于 2009-04-22T10:02:29.440 回答
2

如果你能记住的话,ID 几乎总是最好的。

于 2009-04-26T18:16:39.177 回答
2

我倾向于使用 XPath 表达式来寻找 'id' 或 'name' 属性。

但是,如果您定期在 IE6 中执行测试,请注意使用 XPath 进行定位器表达式。与更高版本或 Firefox 相比,XPath 在 IE6 中的运行速度明显较慢。我有一个相当大的 SeleniumRC 测试套件,使用 IE6 需要三个多小时才能完成,而使用 Firefox 则需要一个小时。(所有这些时间都不是由 XPath 引起的,但它确实有很大贡献)。

于 2009-04-28T14:28:54.260 回答
2

过了一会儿,我发现了其他选择:创建自己的属性并为 Selenium IDE 构建 javascript 函数,以基于此属性生成 xpath。这并不难:)

它使生成和维护测试变得如此容易(当突然 span 变成 div 时;))

于 2009-09-01T19:41:40.247 回答
0

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

这是我的定位器排名,从最好到不太好:id name link css ui xpath

于 2012-02-10T19:53:26.330 回答