2013-11-26 48 views
1

我想設置一個背景顏色,並使用黃瓜來驗證正確的顏色設置爲網頁的背景顏色。黃瓜測試網頁的背景顏色

我有以下情形:

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)

回答

1

的問題是"%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")') 
+0

感謝賈斯汀,它幫助! –