0

我是 Watir 框架的新手,我们有一个类似的代码

$browser.link(:xpath, "//a[@href='/servlets/ProcessAction?identifier=createMemberAccountTypes&click1=Accounts_Open']").click 

. 但这在 IE 上运行良好,但在 Firefox 上却并非总是如此。所以我们使用类似的东西

$browser.span(:text => "Logout").parent.click

但是我们不想为 IE 写一个,为 Firefox 写一个。我们应该使用什么?

感谢您的时间。

4

1 回答 1

3

我会使用:

$browser.link(:text => "Logout").click

:text 说明符包括元素及其元素中的所有文本(即包括跨度中的文本)。因此,您可以直接获取链接,而不是获取跨度的父级。

通常的建议是尽可能避免使用 xpath。它通常更难阅读并且可能很脆弱。例如,您的 xpath 被硬编码为查询字符串参数的特定顺序。如果生成的 url 变为 '/servlets/ProcessAction?click1=Accounts_Open&identifier=createMemberAccountTypes' (即参数更改的顺序),您的测试将失败。相比之下,文本“注销”似乎不太可能改变。

一般来说,我会说使用有效的方法。

于 2012-12-21T17:14:24.770 回答