jquery - cucumber 测试网页的背景颜色

标签 jquery ruby-on-rails testing cucumber

我想设置背景颜色并使用 Cucumber 来验证是否将正确的颜色设置为网页的背景颜色。

我有以下场景:

Then I follow "Use theme"    
Then the page background should be blue

步骤定义为:

Then /^the page background should be blue$/ do
page.evaluate_script("%Q[jQuery('body').css('background-color');]").should == 'rgb(1, 31, 69)' end

但是 htis 抛出一个 javascript 错误 有人可以告诉我哪里出错了吗? (PS:我不是很擅长jQuery)

错误:

Then the page background should be blue syntax error (Selenium::WebDriver::Error::JavascriptError)

最佳答案

问题出在 "%Q[ ]" 部分。看起来您不小心试图在 Ruby 字符串中定义 Ruby 字符串。您要么想将字符串包装在 ""或 %Q[] 中,但不能同时包装。

以下任一方法都有效:

# Using %Q[]
puts page.evaluate_script(%Q[jQuery('body').css('background-color');])

# Using ""
puts page.evaluate_script("jQuery('body').css('background-color');")    

# Using $ instead of jQuery
puts page.evaluate_script('$("body").css("background-color")')

关于jquery - cucumber 测试网页的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211777/

相关文章:

ruby-on-rails - Phusion Passenger Error : You have activated rack 1. 2.1,但是你的 Gemfile 需要 rack 1.2.2

由于 Jasmine 中 html 中的自定义元素导致的 Angular 2 组件测试错误

javascript - 如何在固定柱形图(highcharts)中动态添加点放置和点填充

css - 是否可以控制 Rails 读取 .CSS 文件的顺序,或者它是否按惯例固定?

javascript - 如何获得最接近的 <li> 来设置 .css 高度

ruby-on-rails - link_to 路径定义

python - 如何在不同的浏览器中使用 LiveServerTestCase 运行 selenium 测试?

ruby-on-rails - 将 RSpec 与 Ruby on Rails 结合使用的国际字符

jquery - jQuery 对话框按钮中的动态函数

javascript - 获取稀疏 JavaScript 数组的第一个元素