ruby – 如何迫使黄瓜情景失败?
发布时间:2020-12-17 04:21:19 所属栏目:百科 来源:网络整理
导读:有没有办法迫使黄瓜情景失败? 我需要在每次测试结束时检查一些失败的情况.所以我认为我可以检查“错误”对话框,然后如果它发生则测试失败. 这可以通过下面的代码实现,但是存在问题.一旦我在失败中提出异常!函数,然后黄瓜停止运行After钩子的其余部分,因此
有没有办法迫使黄瓜情景失败?
我需要在每次测试结束时检查一些失败的情况.所以我认为我可以检查“错误”对话框,然后如果它发生则测试失败. 这可以通过下面的代码实现,但是存在问题.一旦我在失败中提出异常!函数,然后黄瓜停止运行After钩子的其余部分,因此注销函数不会被调用. 是: After() do |scenario| #Checking for Error popups if page.has_selector?(:dialog_message,1,:text => 'Error') fail!(raise(ArgumentError.new('Unexpected Error dialog!'))) end logout end 现在: After() do |scenario| #Checking for Error popups if page.has_selector?(:dialog_message,:text => 'Error') scenario.fail!(logout) end end 是否有更好的方法可以在不引发异常的情况下通过黄瓜测试失败? 解决方法
您可以使用正常断言来获取挂钩失败.没有做过Capybara / rspec异常,但我认为你可以这样做:
page.should have_selector?(:dialog_message,:text => 'Error') 但是,如果您执行此操作或执行scenario.fail!(),您仍然无法注销.您需要将其包装在begin-ensure块中. 试试这个: After do |scenario| begin page.should have_selector?(:dialog_message,:text => 'Error') ensure logout end end 更新 如果您不想调用标准断言并直接使场景失败,您可以执行以下操作 – 您需要使用失败而不是失败!: After() do |scenario| begin #Checking for Error popups if page.has_selector?(:dialog_message,:text => 'Error') fail(ArgumentError.new('Unexpected Error dialog!')) #Or you can just do fail('Unexpected Error dialog') if you do not care about the type. end ensure logout end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- cocos creator基础-(二十四)cc.Director与资源加载策略
- opencv4 mask_rcnn模型调(c++)
- 提取大括号正则表达式php之间的所有值
- Oracle数据库练习1
- PostgreSQL returning 插入,更新,删除反馈数据
- iphone – 安装Xcode 6 iOS模拟器8后皮肤消失了
- cocos2d-iphone – cocos2d中非矩形CCNode的轮廓(笔划)
- xml – 树视图头内部使用js和python添加odoo 8中的下拉菜单
- Magento布局XML中的“update”元素做什么?
- ruby-on-rails – schema.rb由于其他分支中的迁移而搞砸了