当前位置 : 主页 > 网络安全 > 测试自动化 >

如何在没有获得巨大性能影响的情况下找到带有watir-webdriver的标签?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我在黄瓜(1.1.9)测试中使用watir-webdriver(0.5.3).我试图验证首字母缩略词的文本值.标签.代码是遗留的,并且计划将其更改为 div或者 span标签,但同时我必须处理它.我第一次尝试: @browser.acr
我在黄瓜(1.1.9)测试中使用watir-webdriver(0.5.3).我试图验证<首字母缩略词>的文本值.标签.代码是遗留的,并且计划将其更改为< 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
网友评论