gpt4 book ai didi

watir - 如何在不影响性能的情况下找到带有 watir-webdriver 的 标签?

转载 作者:行者123 更新时间:2023-12-04 22:34:38 25 4
gpt4 key购买 nike

我在 Cucumber (1.1.9) 测试中使用 watir-webdriver (0.5.3)。我正在尝试验证 <acronym> 标签的文本值。代码是遗留的,有计划将其更改为 <div><span> 标记,但同时我必须处理它。我首先尝试:

@browser.acronym(:id => /expense_code(.*)/).text

我收到以下错误:
NoMethodError: undefined method `acronym' for #<Watir::Browser:0x33e9940>

我在 Watir 代码中查看了如何创建标记对象,发现它们似乎是基于 HTML5 规范动态创建的,但随后我还在 element.rb 中发现了一条注释,指出它们不再是从规范无论如何,我找不到一种简单的方法来继承 <span> 对象并将其称为 <acronym> 对象。所以,我研究了替代方案,并找到了元素对象。

@browser.element(:id => /expense_code(.*)/).text

此代码有效,但遍历我的页面大约需要一分钟。我现在坚持使用正则表达式,因为标签 id 实际上是动态生成的,我目前没有办法找出这些值。这是标签的实际外观:

<acronym class="editable select fillwith:exp_codes default:E100"
title="Expense Code: Expenses" id="expense_code114_582_10777">
E100 </acronym>

如果您有任何关于如何提高测试性能的想法,我将不胜感激。

最佳答案

那个类名是可预测的吗?你能不能从一个集合部分加上你要验证的文本(在你上面的例子中是一样的)来构造它然后走这条路?

acronym = 'E100'
browser.element(:class, 'editable select fillwith:exp_codes default:#{acronym}'.text.should == acronym

关于watir - 如何在不影响性能的情况下找到带有 watir-webdriver 的 <acronym> 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com