【问题标题】:Siebel Open UI and Selenium; changing ID's/namesSiebel Open UI 和 Selenium;更改 ID/名称
【发布时间】:2015-12-10 05:59:25
【问题描述】:

我正在为客户开发一个项目,他们将在该项目中升级到 Siebel Open UI。通过这次升级,他们还想开始实施 Selenium。我们当前面临或实施后将面临的问题是,每次构建时,Siebel 中 HTML 元素的 ID/名称都会发生变化。因为我们讨论了很多视图和小程序,所以每次手动更改代码并不是一个好的解决方案。

这个问题有什么好的解决方案?提供的一种解决方案是关联表,我们可以在其中跟踪 ID 的变化。

在这种情况下,Xpath 也不是一个好的选择,因为视图和小程序的结构很复杂。

【问题讨论】:

  • 如果它只是一个 id 更改,您应该使用 xpath 访问元素
  • 是的,Xpath 也是可选的,但由于许多视图和小程序的结构,这也不是很实用。

标签: java selenium siebel


【解决方案1】:

我建议您研究 CSS 选择器。它们比 XPath 更快,更不脆弱。对于动态的 ID/名称,通常至少有一部分 ID 是静态的。

例如,

<a id="somestatictext_12345">...

其中“12345”是一些动态生成的数字。在这种情况下,您可以使用 CSS 选择器,例如

driver.findElement(By.cssSelector("[id^='somestatictext']"));

例子

"[id^='somestatictext']" - ID begins with "somestatictext"
"[id$='somestatictext']" - ID ends with "somestatictext"
"[id*='somestatictext']" - ID contains "somestatictext"

欲了解更多信息,请查看CSS Selector reference

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 2019-09-13
    • 2016-02-14
    • 2016-10-22
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2018-02-07
    相关资源
    最近更新 更多