アプリケーション:ローカル(基本的には空白):ベイグラントVM上でテストをやってリモートテスト:不正なURLでフォームの送信結果(404 =>ネット:: HTTPNotFound)テストされている
アプリケーションを実行しているCakePHPのアプリレールcapybara-mechanize
10 examples, 1 failure
不全のアプリは次のとおりです。
404 => Net::HTTPNotFound
するのは、私のVMが
上で実行中のアプリを持っているとしましょう210'www.domain.comx'
障害シナリオはホームページにアクセスし、ログインして新しいものを作成し、そのフォームを記入して保存をクリックします。
テストでは、返されたページにある情報が正しく保存されているかどうかを調べます。
コードはフォーム提出まで問題なく実行されますが、保存URLは奇妙になります。代わりに
'www.domain.comx/something/something/create'
に
'www.domain.comx/something/create'
それが起こっているのに
'www.domain.comx/something/new'
から行くと、エラーを投げるの
。
コードのどこかに、URLに「何か」が重複する場所があります。
この問題の原因は何ですか?
私はリダイレクトやものを調べようとしていますが、解決策を見つけることができません。
アプリは生きており、25歳のチームでほぼ5年間使用されています。テストは合格でなければなりません。
ここに役立ちます場合は、トレース、です:ここで
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-mechanize-1.5.0/lib/capybara/mechanize/browser.rb:125:in `rescue in process_remote_request'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-mechanize-1.5.0/lib/capybara/mechanize/browser.rb:103:in `process_remote_request'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-mechanize-1.5.0/lib/capybara/mechanize/browser.rb:43:in `block (2 levels) in <class:Browser>'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/rack_test/browser.rb:69:in `process'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/rack_test/browser.rb:41:in `process_and_follow_redirects'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/rack_test/browser.rb:32:in `submit'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/rack_test/form.rb:80:in `submit'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-mechanize-1.5.0/lib/capybara/mechanize/node.rb:8:in `click'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/node/element.rb:143:in `block in click'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/node/base.rb:85:in `synchronize'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/node/element.rb:143:in `click'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/node/actions.rb:25:in `click_link_or_button'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/session.rb:810:in `block (2 levels) in <class:Session>'
# /Users/ViviPoit/.rvm/gems/ruby-2.3.0/gems/capybara-2.16.1/lib/capybara/dsl.rb:50:in `block (2 levels) in <module:DSL>'
をフォームのHTMLのダウン易しく書き直さバージョンです:
<form id="create" method="post" action="something/create">
<div class="form-group col-md-4">
<div class="form-group">
<label for="usuario_email">E-mail *</label>
<input type="email" name="data[usuario][email]" id="usuario_email" class="form-control">
</div>
</div>
<div class="form-group col-md-4">
<label for="usuario_nome">Nome *</label>
<input type="text" name="data[usuario][nome]" id="usuario_nome" class="form-control">
</div>
<div class="form-group col-md-4">
<label for="usuario_telefone">Telefone *</label>
<input type="text" name="data[usuario][telefone]" id="usuario_telefone" class="form-control" alt="phone">
</div>
<div class="form-group col-md-6">
<div class="pull-right">
<button type="submit" class="btn btn-success btn-lg" id="salvar">
<span class="glyphicon glyphicon-ok"></span>
</button>
</div>
</div>
</form>
フォームのHTMLとは何ですか? –
私はフォームのhtmlを質問に追加しました。 – vivipoit