ruby - 使用 watir-webdriver 获取音频控件的 src 值

标签 ruby selenium-webdriver watir-webdriver

我正在使用 watir-webdriver 和 rspec 为 Web 应用程序编写自动化测试。 我需要检查音频控件是否已正确加载。 对于图像,我使用以下语法成功检查了 src 属性:

$browser.image(:src => "/media/myimage.jpg").present?.should eql(true)

我希望使用类似的方法来检查音频控件。 网页结构如下(删除 HTML 大括号):

audio controls="controls" title=""
   source src="/media/R010201/R010201_audio_PhotoTime.ogg" type="audio/ogg "
audio

请注意,source 元素是audio 元素的子元素。使用交互式 Ruby (IRB),我尝试使用 watir-webdriver 查找 src 标签。 我尝试过以下方法:

$browser.audio.present?

-返回 true。

$browser.audio.(:tag_name => 'source').text

-失败

$browser.element(:tag_name => 'source').src.text

-失败 我应该使用什么语法来获取 src 属性中的值?

最佳答案

正确的语法是:

browser.audio.source.src
#=> "/media/R010201/R010201_audio_PhotoTime.ogg"

如果页面上只有一个音频/源,您可以简单地执行以下操作:

browser.source.src

但是,如果有多个音频/源,您将需要找到更具体的方法来定位它们。例如,如果音频元素周围有一个唯一的父 div 元素,您将执行以下操作:

browser.div(:id => 'unique_id').source.src

关于ruby - 使用 watir-webdriver 获取音频控件的 src 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28598213/

相关文章:

ruby-on-rails - 何时使用关联扩展与命名范围?

ruby - Sinatra、Mongoid、Heroku、MongoHQ : connecting to Mongodb

ruby - 在 watir-webdriver 中测试扩展字符

Ruby 不兼容的字符编码

javascript - 使用 javascript 定位 f.select Rails 表单助手

ruby - Rails3 中的 rescue_action 如何工作?

selenium-webdriver - 如何在 Allure 报告中对测试步骤进行分组

java - 单击 Web 应用程序中的另一个元素后,输入的值被删除

python - 如何使用 python 单击此带有 selenium 的链接?

ruby - watir-webdriver 无法在 opera 11.50、11.60 等中创建 "full-page"屏幕截图