小编Tom*_*Tom的帖子

Net :: ReadTimeout(Net :: ReadTimeout)Selenium Ruby

我在Selenium中看到了一些与超时错误相关的帖子.这变得越来越难以忍受,因为它使我的测试包无法使用.我正在测试目前正在开发的网页.

我有一个大约300个测试场景的回归套件,它一直有效,直到firefox和selenium webdriver的最新更新.现在几乎所有其他测试我得到:

Net::ReadTimeout (Net::ReadTimeout) 错误.

这不可能是巧合.有谁知道什么可能导致突然的超时问题?我试过回到以前版本的webdriver和firefox.

ruby selenium cucumber capybara

19
推荐指数
2
解决办法
1万
查看次数

下载位置Selenium-webdriver Cucumber Chrome

我正在使用Cucumber和Ruby.通过Selenium-Webdriver在Chrome中运行测试时,我想将下载位置更改为测试文件夹而不是用户下载文件夹.

我当前的Chrome驱动程序设置如下:

Capybara.default_driver = :selenium
 Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome,
      desired_capabilities: {
      'chromeOptions' => {
      'args' => %w{ window-size=1920,1080 }

     }
    }
   )
  end
Run Code Online (Sandbox Code Playgroud)

我需要在那里添加什么才能更改下载位置?

ruby cucumber selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
1468
查看次数

水豚断言只读字段

我正在尝试测试以下 html 片段:

<input type="text" value="Pool A" name="name" class="form-control form-control-1-2" required="" readonly="" style="background-color: rgb(222, 224, 226);">
Run Code Online (Sandbox Code Playgroud)

我可以看到该元素设置为只读。我更喜欢残疾人,但我们走了!

有没有办法可以使用 Capybara 将该输入字段断言为只读?

readonly: true我在一些文档中遇到过,所以我尝试了:

expect(page).to have_css('name', readonly: true)

但它并没有说这readonly不是一个有效的选择。

任何帮助,将不胜感激

ruby cucumber capybara

5
推荐指数
1
解决办法
2426
查看次数

Capybara 3 标准化空白

我刚刚将 Capybara 更新到版本 3.13。

我注意到您可以使用 向断言添加一个选项normalize_ws: true。对于我现有的测试包,更新每个断言以使用它会非常耗时。

可以在你的cucumber项目的env.rb文件中设置默认调用吗?

cucumber capybara

4
推荐指数
1
解决办法
979
查看次数

在Ruby中计算日期

我有一些特定的功能来测试日期.我遇到了绊脚石.我需要从今天开始向后循环14天以生成日期,但必须忽略周末.

例:

今天是星期一,回到1天会把我带到星期五.回去2天会把我带到星期四.我们总是落后两天.所以,当我在星期二降落时,需要去周五和周一到周四.我让它工作了一周,但接下来的7天又开始了同样的周期.

这是我到目前为止:

def date_calc_minus(number)


date = Date.today - number.to_i
  day = date.strftime('%a %e %B %Y').split(' ')[0]


  case
    when day.include?('Sun')
      puts day
      calculated_date = date - 2
    when day.include?('Sat')
      puts day
      calculated_date = date - 2
    else
      puts day
      calculated_date = date - 2
      if calculated_date.strftime('%a %e %B %Y').split(' ')[0].include?('Sun')
        calculated_date = calculated_date - 2
      elsif calculated_date.strftime('%a %e %B %Y').split(' ')[0].include?('Sat')
        calculated_date = calculated_date - 2
      end
  end

  calculated_date.strftime('%a %e %B %Y')
end

start = 1
stop = 14 …
Run Code Online (Sandbox Code Playgroud)

ruby date

2
推荐指数
1
解决办法
140
查看次数

使用Cucumber - Selenium Ruby测试报告输出

我希望从我的Cucumber测试中获得报告输出.到目前为止,我可以提出以下内容:

cucumber features/feature_name.feature -f json -o C:/Reports
Run Code Online (Sandbox Code Playgroud)

这只会在测试结束时产生一个json报告,你无法像黄瓜一样发现它们.

我是否可以同时执行这两项操作,以便在cmd中看到绿色/红色步骤并在最后获取json报告?

谢谢

ruby selenium json cucumber

1
推荐指数
1
解决办法
5670
查看次数

Yaml中的Ruby正则表达式

我是YAML的新手,我正在尝试编写一些语言翻译测试.我的想法是我有一个YAML文件,其中包含相同文本的英语和威尔士语版本.我想知道如何在YAML中的字符串中使用正则表达式?

例:

我有这个基本测试:

#Gherkin
And I expect to see payment confirmation for "Dave"

#Step Def
    And /^I expect to see payment confirmation for "(.*?)"$/ do |user|
      expect(page).to have_text "Payment successful for #{user} - Reference: 000000"
end
Run Code Online (Sandbox Code Playgroud)

YAML参赛作品:

"Payment successful for Dave reference: 000000"
 - welsh: "Taliad llwyddiannus ar gyfer Dave Cyfeirnod: 000000"
Run Code Online (Sandbox Code Playgroud)

我可以在该YAML条目中参数化Dave,因为测试套件涵盖了数百个用户.

谢谢

ruby yaml cucumber

1
推荐指数
1
解决办法
287
查看次数

如何减少字符串中的数字

我有一串整数,可以用逗号、连字符或两者分隔。例如

str = '3,7-17,21'
Run Code Online (Sandbox Code Playgroud)

我需要将这些数字减 1,同时又不丢失它们在该字符串中的位置。

当我拆分时,我会丢失逗号和连字符,因此它们的位置会发生变化。

有没有一种好的方法可以将我的字符串变成2,6-16,20

我开始执行以下操作,但最终陷入了困境:

def reduce_hours(hours)
  hours
    .enum_for(:scan, /\d+/)
    .map { Regexp.last_match(0) }
    .map(&:to_i)
    .map { |hour| hour - 1 }
    .then { hours }
end

hours = '3,7-17,21'
Run Code Online (Sandbox Code Playgroud)

它只是返回原始字符串。当我调试时,它确实会单独匹配数字并将它们减 1。它只是不会将这些更改返回到原始字符串。我对这个片段很熟悉吗?

ruby

1
推荐指数
1
解决办法
73
查看次数

黄瓜水豚换行符

我正在将黄瓜和水豚一起使用。我注意到,在安装捆绑软件之后,突然之间,我的测试失败了,新的换行符作为文本的一部分出现在字符串中。

错误示例:

RSpec::Expectations::ExpectationNotMetError: expected to find text "Longview Road Clase Swansea SA6 7JL" in "Skip to main content\nGOV.UK\nDigital tachograph card\n......."
Run Code Online (Sandbox Code Playgroud)

过去,那些换行符不存在。我正在努力寻找导致此问题的宝石。

有没有一种方法可以停止此操作,而无需在我从网页提取的每个字符串中都做一个剥离?

一些gem版本:

水豚-2.18 Rspec期望-3.7.0黄瓜-2.4.0

cucumber capybara rspec-expectations

0
推荐指数
1
解决办法
924
查看次数