2013-02-16 51 views
4

我想用Selenium测试Liferay portlet,但问题是Liferay生成的元素id是动态的,每次输入portlet时它们都会发生变化。有没有人有任何建议我如何测试portlet?使用Selenium测试Liferay门户

感谢您的帮助。

+1

我不确定如何,但Liferay在内部使用Selenium来测试Liferay Portal。所以我知道它是可能的! – 2013-02-16 07:19:41

回答

2

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

如果你有动态元素标识符,然后尝试使用元素的一些其他属性来唯一标识例如text()或名称等元素......有时候,也会发生这样的情况:使用通用模式,在这种情况下,你可以尝试使用它,例如,// div [contains(@ id,'fixedpart')] or // div [starts-with(@ id,'fixedpart')]

0

我会建议使用新的HTML5属性像数据 - *,例如一定

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

然后抓住这个元素硒:

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