使用Selenium测试Liferay门户

时间:2013-02-16 06:38:12

标签: selenium liferay

我想用Selenium测试一个Liferay portlet,但问题是Liferay生成的元素id是动态的,似乎每次进入portlet时它们都会改变。有没有人有任何建议我如何测试portlet?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

这取决于元素的结构。有多种方法可以识别元素,而不仅仅是固定的ID。

如果你有动态元素id,那么尝试使用元素的其他一些属性来唯一地标识元素,例如text()或name等...有时,也会发生使用常见模式生成id的情况,在这种情况下,您可以尝试使用它,例如,// div [contains(@ id,'fixedpart')] 或// div [starts-with(@ id,'fixedpart')]

答案 1 :(得分:0)

我建议使用像data- *这样的新HTML5属性,例如某个

<div data-selenium-test = "foo"></div>

然后用selenium抓住这个元素:

//div[@data-selenium-test='foo']