也许这实际上不是我遇到的问题,但似乎当我"click_link"一个带有target ="_ blank"的链接时,会话将焦点保持在当前窗口.
所以我要么能够切换到新窗口,要么忽略_blank属性 - 本质上,我只是希望它实际上转到链接指示的页面,这样我就能确保它是正确的页面.
我使用webkit和selenium驱动程序.
我在下面提交了我的调查结果.非常感谢更彻底的答案.
此外,这只适用于selenium - 相当于webkit驱动程序(或指出我自己可以发现它的位置)将非常感激.
处理websockets时,这一直是一个令人头痛的问题,除了添加bug之外,它还会破坏我的性能.由于ActionCable是我升级的全部原因,我非常想完全摆脱它.
在两个(或更多)结果中的任何一个都可以接受的情况下编写rspec的最佳方法是什么?
这是我想要做的一个例子.这显然是错误的(我认为),但它应该给你我想要完成的事情的要点:
it "should be heads or tails" do
h="heads"
t="tails"
flip_coin.should be(h || t)
end
Run Code Online (Sandbox Code Playgroud)
是的,我知道我可以编写自己的rspec匹配器"should_be_one_or_the_other(option1,option2)",但这似乎有点多 - 我希望有更好的解决方案.
我知道如何按顺序放置一个数组,但在这种情况下,我只是想知道它是否有序.我想,一串字符串将是最简单的,并且在这方面的答案是值得赞赏的,但是包括基于某些任意参数检查顺序的能力的答案是最佳的.
这是一个示例数据集.名称:
[["a", 3],["b",53],["c",2]]
Run Code Online (Sandbox Code Playgroud)
元素本身是包含多个元素的数组,其中第一个是字符串.我想看看这些元素是否按字母顺序排列.
我确信我们都熟悉"意外的kEnd"问题.他们总是(对我而言)要追查很多麻烦,因为Vim与"do"和"end"不匹配.(显然,其他以"结束"结尾的元素,如"if")
有没有办法配置Vim来显示这些匹配,以帮助简化调试?
使用Rspec,我希望能够看到标准进度条,并输出到包含文档格式生成的规格表的文件,并且还生成了一个html文件,而不是多次运行测试.
如何为这些格式分配多种格式和文件目标?
现在,我正在使用bundler来管理我的宝石.Bundler为不同的环境加载不同的宝石.
我有一些使用测试宝石(rspec)的rake任务,但是这些会导致生成环境中没有加载gem的问题.
所以我希望能够做的只是在测试环境中加载rake任务(以及与之关联的require'rspec/core/rake_task'行).
我无法找到最好的方法来做到这一点.
我目前有:
require "bundler"
require 'rspec/core/rake_task'
desc "Task for running Rspec tests"
RSpec::Rake::SpecTask.new(:spec)
Run Code Online (Sandbox Code Playgroud) 我一直在浏览文档,但有关多个过滤器如何工作的描述似乎有点缺乏.有没有人对多个过滤器的行为有一个很好的解释或来源?他们列出的订单是否重要?这是一个代码示例,可能有其他行为以外的行为......
Rspec.configure do |c|
this_version = get_version_number.to_sym
c.filter_run :focus=> true
c.filter_run_excluding :limit_to=>true, this_version => false
c.filter_run :new_stuff=>true
c.run_all_when_everything_filtered
end
it "is focused, but not new", :focus
it "is is new", :new_stuff
it "is new and focused", :new_stuff, :focus
it "is focused and new, but limited to a different version", :focus, :limit_to, :correct_version
Run Code Online (Sandbox Code Playgroud)
试验这个,看起来像"filter_run_excluding"行简单行为的多个参数就是你多次写行.有没有办法让它实际组合过滤器检查,以便它排除(或运行,我想)只有列出两个标签的示例?
对于我正在构建的应用程序,我有一个“大厅”页面,人们可以在其中配置他们想要加入的区域。非常基本。
我希望有当前订阅该页面频道的活跃消费者总数,以便用户知道周围是否有其他人可以与之交互。
是否有捷径可寻?
我目前正在运行一个检查特定元素的测试,然后对它做一些事情.该元素需要一点点javascript完成踢,但在计时器我已经有Capybara设置.
由于某些原因
assert session.has_xpath?(xpath_route)
Run Code Online (Sandbox Code Playgroud)
工作正常,但是
assert link=session.first(:xpath, xpath_route)
Run Code Online (Sandbox Code Playgroud)
失败,说它找不到元素.并且很快 - 在等待计时器用完之前很久.
我只能假设这意味着计时器只适用于匹配器,而不是发现者,这很好,但我怎么能强迫它继续寻找直到找到我正在寻找的元素?