在运行黄瓜步骤之后,我得到了非常随机的行为。我需要添加一个条件,只有当前面的步骤是success..Moreover时,我才会移动到黄瓜的下一步--我可以在我的env.rb中设置一个容忍级别,以便在50个文件中,即使10个文件失败,它仍然是成功的……现在我用
After('@javascript, @selenium') do
page.has_content? ''
end
...to验证每个scenario...NOT之间的每一步.
我将一个表从黄瓜传递到Ruby,试图更改一个散列值,然后我想将该表传递到下一步。哈希值更改,但表不受影响。我做错了什么,或者遗漏了一些概念。请指点!
我的例子黄瓜:
Scenario: Change Table Value
Given I start with this table
| person | grade |
| Bob | 82 |
| Jim | 94 |
| Bill | 58 |
这是红宝石:
Given /^I start with this table$/ do |table|
puts "table i
我正在学习如何使用黄瓜,并得到了这个问题:
我有一个表单,如下所示:
<p>
<%= f.label :name, "Nome" %><br />
<%= f.text_field :name %>
</p>
在我的黄瓜功能中,我有:
And I fill in "name" with "Reitoria do Porto"
这会导致测试失败,并显示以下信息:
And I fill in "name" with "Reitoria do
我目前有一个项目,其中有一堆相当大的黄瓜.feature文件,其中许多场景都被破坏了。这些场景被标记为@broken,我们通过使用-t ~@broken执行黄瓜来避免运行它们。不幸的是,当我们检查黄瓜输出时,这些场景实际上是不可见的。它们不会以已通过、失败或跳过的方式出现。我想要的是在黄瓜输出中包括这些场景的计数。它们应该显示为“跳过的”测试,而不是完全不显示。
我试过的是:
Before('@broken') do |scenario|
pending
end
但是,这会引发一个Cucumber::Pending异常,该异常未被提及,只是失败了。
我知道我可以写这样的步骤
我有一个关于cucumber的问题,想知道如果后台步骤失败了,是否可以重新启动我的测试?基本上有时我的网址不加载和测试失败,所以它被标记为失败,但我希望能够在实际测试开始之前重新启动任何失败的测试,这是可能的吗? Background:
Given I am on the application after successful login
And I select create note
#Text Input
@udc @TestRail(536052)
Scenario: Assert Maximum characters are working correctly
When I
我可以在浏览器中清楚地看到文本。
characters should be "R", "P", or "B".
但是当我写下一步黄瓜步骤
Then I should see "characters should be \"R\", \"P\", or \"B\"."
它说它的
Undefined step: "I should see "characters should be \"R\", \"P\", or \"B\"
我正在通过IntelliJ使用黄瓜,并致力于修复一个坏掉的测试。我想知道当调试时,是否有一种方法可以保存系统的状态,直到特性文件中的某个步骤,如果它们都通过了。例如,举下面这个夸张的例子
Given I am a New User
And There is an Event on a certain date
When I log in
And Go to the Events page
And I select the Event
And I go to the Payments Page
And I attempt to pay with cred
redirect_to在我的黄瓜测试中失败了。step_definition方法是
Then /^I should be redirected to "(.*)"$/ do |url|
response.should redirect_to(url)
end
在Rails 2.3.3中,我正在做:
redirect_to some_url, :status => 301 and return false
我从application_controller.rb运行它,并返回false。当我跟踪test.log时,我看到它被重定向,但黄瓜测试仍然失败,并显示一个
expe
如果我有个测试
expect(['x', 'y', 'z']).to be_empty
当测试失败时,如何执行命令,例如,将失败测试的内容放入csv文件中,其中包含特定于该测试中数据的行名。
我能想到的最好的方法就是
begin
expect(['x', 'y', 'z']).to be_empty
rescue RSpec::Expectations::ExpectationNotMetError => e
#output to csv
raise e
end
然而,这并不是最干
如何删除字符串的\n、\t。
例如,当黄瓜从表中读取"\n\t\t\t\tDay of Week\n\t\t\t"时,它应该被视为"Day of Week"。
获取错误如下:
RuntimeError: Element do not match for entry : Day of Week
测试数据仅作为文本输入,但黄瓜在"\n\t\t\t\tDay of Week\n\t\t\t"和比较失败时从应用程序读取测试数据。
究竟需要做些什么?
我对黄瓜和Nightwatch.js有意见。在我的一个特性中,在第一步中,我发出一个POST请求以获得一个id,然后我将该Id使用到我需要导航的URL中。我的问题是,当我得到报答的时候,我又走了一步,所以考试失败了,因为我想看的东西不在那里。这是我正在采取的步骤的一个片段。
Given(/^I make a post request and retreive the Id i got the page + id$/, () => {
//I make the post request
var transactionIdPromise = utils.getTransac
我目前正在使用cucumber(info.cukes)-Selenium来运行自动化测试。 现在,我有一种情况,可以在流程的任何点上发生特定的步骤。因此,我必须设计一个黄瓜场景来验证每一步的动态页面。 如何在没有AfterStep钩子的情况下实现这一点?(cucumber(info.cukes)不支持AfterStep钩子) 示例: 场景:完成订单。 Given: Open URL with chrome browser
When: Login with correct ID and password
Then: Complect the details on step 1
And: Co