Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails If和Page.应该在Ruby中有_css_Ruby On Rails_Ruby_If Statement_Ab Testing - Fatal编程技术网

Ruby on rails If和Page.应该在Ruby中有_css

Ruby on rails If和Page.应该在Ruby中有_css,ruby-on-rails,ruby,if-statement,ab-testing,Ruby On Rails,Ruby,If Statement,Ab Testing,我是Ruby的新手,我对if条件和page有问题。当我为登录功能编程a/B测试时应该有问题 这是我的代码: if (page.should have_css("body.bg-b")) || (page.should have_css("body.bg-c")) #do something else #do something end 它在if条件下工作良好。我的问题是,如果页面没有bg-b或bg-c,它应该转到其他条件,对吗,但它停止运行并说 水豚::

我是Ruby的新手,我对if条件和page有问题。当我为登录功能编程a/B测试时应该有问题

这是我的代码:

if (page.should have_css("body.bg-b")) || (page.should have_css("body.bg-c")) 
    #do something           
else
    #do something
end
它在if条件下工作良好。我的问题是,如果页面没有bg-b或bg-c,它应该转到其他条件,对吗,但它停止运行并说

水豚::预期未满足: 预期会找到css“body.bg-b”,但没有匹配项

这个代码有什么问题吗

谢谢

关键字“应该”似乎你在断言什么

如果你只是想做一个If,你应该这样写:

if (page.has_css?("body.bg-b")) || (page.has_css?("body.bg-c")) 
   # Check something with should
else
   # Check something else with should
end
如果你想检查页面是否有css或其他css,你应该写

(page.has_css?("body.bg-b")) || (page.has_css?("body.bg-c")).should == true


它们都应该是
有css?
,而不是
有css?
。但是这个想法是对的。@sevensaca不确定,我不使用这种语法。“我纠正了它。@忘记形态:谢谢,伙计,它对我有用,佩奇。这是我的自动化测试所需要的。
if !page.has_css?("body.bg-b")
  page.should have_css("body.bg-c")
end