【问题标题】:Test Liferay portal using Selenium使用 Selenium 测试 Liferay 门户
【发布时间】:2013-02-16 06:38:11
【问题描述】:

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

感谢您的帮助。

【问题讨论】:

  • 我不确定 Liferay 如何在内部使用 Selenium 来测试 Liferay Portal。所以我知道这是可能的!

标签: selenium liferay


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我建议使用新的 HTML5 属性,例如 data-*,例如对于某个

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

    然后用 selenium 抓取这个元素:

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

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2014-02-03
      相关资源
      最近更新 更多