我有一个使用devise的自定义注册表单的非常简单的水豚脚本:
scenario "allow me to register and should take me to the new partner page" do
visit '/registrations/become_partner'
response.should be_success
end
当我尝试运行测试时,我得到以下错误:
ActionView::Template::Error:
undefined method `first_name'
我一直在使用Capybara进行集成/请求测试,但我刚刚意识到我不能用它进行视图测试。
建议Webrat和Capybara可以同时使用;但建议必须在两者之间进行选择。建议webrat可用于视图,而水豚可用于集成。
我发现如果我在我的gemfile中包含Webrat,我可以毫无问题地使用webrat进行视图,但是我的水豚风格的集成测试不再有效。具体地说,我在下面这个简单的例子中得到了一个错误:
it "should have a Home page at '/'" do
visit '/'
page.should have_selector
如何使用rails、最小和capybara来测试创建了一个pdf页面时是否没有错误?我认为检查status_code是最简单的,但不确定水豚是否支持这一点。
scenario "opens pdf without errors" do
visit progress_report_path(format: 'pdf')
page.must_have_status_code(200)
end
我知道水豚没有"must_have_status_code“method...but,这说明了我想要实现的目标。
如何在rails中测试状态代码?或者,我如何能
我安装了cabybara和牛排gem来创建验收测试。在安装水豚之后,请求示例被配置为使用水豚。水豚的例子有不同的语法,无法识别响应。
如何将请求示例重置为作为RSpec示例运行?
测试错误:
4) Users signup failure should not make a new user
Failure/Error: click_button
wrong number of arguments (0 for 1)
# ./spec/requests/users_spec.rb:13
# ./spec/requests/users_spec.r
当我试图上载我的Bluemix自定义域的SSL证书时,我会收到以下错误消息:
BXNUI2072E: The intended host name, *.<custom_domain>, is not a subject within the certificate.
如何才能成功上传证书并避免此错误?
谢谢!
我有以下rspec片段:
describe "Save should create a ClassificationScheme" do
subject { lambda { click_button "Save"; sleep 1 } }
it { should change(ClassificationScheme, :count).by(1)
end
如果没有“睡眠1”,水豚就不会等待保存按钮启动的动作,而规范也会失败。睡眠1可以,但是有更好的解决方案吗?
注意,这个测试是在Firefox中使用selenium运行的。
在我的控制器中,重定向是使用以下代码完成的:
会话控制器
def create
render js: "window.location.pathname = #{home_path.to_json}"
end
但是当我运行水豚时,在login提交发生后,它不会到达home_page:
describe "Login Test", :js => true do
before do
@user = FactoryGirl.create(:user)
end
it 'should show the users first name
我正在使用RSpec,Spork,Capybara和Capybara Mechanic为使用Facebook connect的注册路径编写集成测试。它可以正确地导航到注册,但新用户是在我的开发数据库中创建的,而不是在测试数据库中创建的。
RSpec被设置为使用测试环境,我已经确认我在规范中运行的所有模型方法都命中了测试数据库,但所有的UI操作都命中了开发。
这是我的测试:
it "go through registration path" do
print "RAILS_ENV: #{Rails.env}\n" # correctly prints '
我正在使用Jenkins版本1.566和Artifactory插件版本2.2.2。
我在它自己的码头容器中运行Artity2.66。它以http的形式运行,但最近我将其更改为https。
现在,如果我将Jenkins配置中的工件服务器url从http更改为https和端口8443,则会得到错误:
"Error occurred while requesting version information: peer not authenticated"
如果我转到https url并使用相同的用户名和密码登录,就成功了。为什么会发生此错误,以及如何修复?
任何帮助都是非常感谢的。
我有一个文件域,它有opacity: 0,并且覆盖了一个假按钮。这是一种常见的css技术,用来伪造一种在不同浏览器上一致显示的“上传按钮”。
水豚不允许我在该输入上调用attach_file。错误是Selenium::WebDriver::Error::ElementNotVisibleError: Element is not currently visible and so may not be interacted with。
有谁知道如何迫使水豚与看不见的元素相互作用?
答案仍然没有回答,但我已经找到了解决办法。没有什么智能的东西,只是用一个简单的脚本使元素可见
page.exec
我正在将水豚集成到一个项目中。首先,我只是想检查显示登录页面的内容,所以我编写了以下代码:
require 'acceptance/acceptance_helper'
feature 'Login' do
scenario 'sign in with right credentials' do
visit '/'
save_and_open_page
end
end
但是当我运行测试时,它向我显示:
Failure/Error: visit '/'
ActionController::