2014-09-25 89 views
-1

我一直在使用Python中的Selenium为我的公司编写自动测试用例。通过ID查找元素不可靠,但通过Xpath查找元素有多可靠?

我的测试用例几乎每天都会失败,因为对于给定的元素,它在不同的服务器上有不同的ID。我今天早上做了一些研究,它的Xpath似乎相对一致。

例如:

  • 的元件被命名为“面板xxxx_header_hd”,这种“xxxx”是一个四位串;对于给定的元素,它可以是1028,1029或1030.

我可以问一下你对此的看法吗?我知道很难从统计上证明哪一个更可靠。

谢谢

+0

请添加HTML和giv e关于ID如何变化的一些例子。 – Richard 2014-09-25 02:23:49

+1

它和DOM一样稳定。 – roippi 2014-09-25 02:28:32

+0

谢谢理查德,谢谢你roippi。 – 2014-09-25 02:29:32

回答

1

您可以使用Contains()查找部分ID。

假设有没有包含在他们的ID,你可以使用下面的XPath“_header_hd”的任何其他元素(改变*到任何种类的元素你期待):

//*[contains(@id, '_header_hd')] 

或者,如果你想获得更具体一点,你可以使用一个CSS selector找到与结束与子一个ID的元素(再次,改变*以元素的类型你期待:

*[id$='_header_hd']