Siebel Open UI和Selenium;更改ID /名称

时间:2015-09-14 09:25:39

标签: java selenium siebel

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

这个问题的解决方案是什么?提供的一个解决方案是关联表,我们跟踪ID的变化。

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

1 个答案:

答案 0 :(得分:0)

I would suggest that you look into CSS Selectors. They are faster and less brittle than XPath. For ID/names that are dynamic, typically there is at least some portion of the ID that is static.

For instance,

<a id="somestatictext_12345">...

where "12345" is some dynamically generated number. In this case you can use a CSS selector like

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

Examples

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

For more info, take a look at this CSS Selector reference.