2013-02-16 56 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']