1

我想知道使用机器人框架和/或硒处理极长定位器的常用方法是什么?

我说的是很长的定位器:

<input id="all00$SPWebExample1$g_bcd023df_3ba6_4f8f_bef3_164383c266aa$ctl00$$HereComesAnotherText1$rblFoundIs" />

显而易见的方法是将它们“隐藏”在资源文件中,这样它们就不会污染测试用例文件。我见过的另一种方法是创建一个包含测试网站的完整结构的静态 xml 文件并解析 xml 文件(如果需要,我可以提供示例)。

有没有更好的方法来做到这一点?

4

2 回答 2

1

恕我直言,解决方案是不要使用丑陋的自动生成的 ID。您的测试最终会变得脆弱,因为如果框架更改 ID 生成方法,它们都会中断。相反,使用 XPath 或 CSS 选择器。

于 2012-08-16T14:35:57.447 回答
1

如果 id 是自动生成的,那么将它们存储在这样的长定位器中并不是一个好主意。


代替:

string superLongLocatorID = "all00$SPWebExample1$g_bcd023df_3ba6_4f8f_bef3_164383c266aa$ctl00$$HereComesAnotherText1$rblFoundIs"

采用:

string xpathLocator = "//input[contains(@id, 'rblFoundIs')]"

XPath 版本要短得多,而且不会像存储完整 ID 那样容易破解。

如果有多个输入元素包含相同的文本,那么还有其他方法可以缩小结果范围。

于 2012-08-16T22:35:29.693 回答