在 watir 中,有没有办法捕获与 .present 匹配的文本?
In watir, is there a way to capture the text matched by .present?
是否可以只获取调用 .present 匹配的文本?
具体问题是页面包含 "TIME: ##:##" 形式的字符串,其中 # 是 [0-9]。我对 ##:##
的值感兴趣
我可以用类似的东西解决具体问题(希望没有错别字)
myString = "TIME: [0-9][0-9]:[0-9][0-9]"
myRegExp = /#{myString.gsub(/\s/, '\s')}/
if ( @browser.div(:text => myRegExp).present? )
myResult = @browser.div(:text => myRegExp).text
end
在我的测试中,myResult 是一个包含页面上所有文本元素的字符串;这比我想要的信息更多。我要"TIME: ##:##"
当然可以用Ruby得到我想要的
myResult [ myRegExp ]
具体问题已解决。更一般的问题更多是最佳实践问题。有没有更好的办法?有没有办法让 Watir 仅 return 匹配的字符串部分或正在使用 Ruby 字符串 class 解决此类问题的最佳方法?
我倾向于使用 Ruby 来做 any/all 我想从测试中得到的 'extra' 东西。就 'Best Practices' 而言,我会说只需将 'Watir' 用于 'driving' 浏览器测试。所以在你的特殊情况下。我会保存完整的字符串,然后将其解析为您想要的格式。
是否可以只获取调用 .present 匹配的文本?
具体问题是页面包含 "TIME: ##:##" 形式的字符串,其中 # 是 [0-9]。我对 ##:##
的值感兴趣我可以用类似的东西解决具体问题(希望没有错别字)
myString = "TIME: [0-9][0-9]:[0-9][0-9]"
myRegExp = /#{myString.gsub(/\s/, '\s')}/
if ( @browser.div(:text => myRegExp).present? )
myResult = @browser.div(:text => myRegExp).text
end
在我的测试中,myResult 是一个包含页面上所有文本元素的字符串;这比我想要的信息更多。我要"TIME: ##:##"
当然可以用Ruby得到我想要的
myResult [ myRegExp ]
具体问题已解决。更一般的问题更多是最佳实践问题。有没有更好的办法?有没有办法让 Watir 仅 return 匹配的字符串部分或正在使用 Ruby 字符串 class 解决此类问题的最佳方法?
我倾向于使用 Ruby 来做 any/all 我想从测试中得到的 'extra' 东西。就 'Best Practices' 而言,我会说只需将 'Watir' 用于 'driving' 浏览器测试。所以在你的特殊情况下。我会保存完整的字符串,然后将其解析为您想要的格式。