0
所以這個頁面的源代碼:我如何測試如果從水豚/ Poltergeist的下拉菜單中選擇一個項目?
<form class="ui form" action="/install" method="post">
<h4 class="ui dividing header">Database Settings</h4>
<p>Gogs requires MySQL, PostgreSQL, SQLite3 or TiDB.</p>
<div class="inline required field ">
<label>Database Type</label>
<div class="ui selection database type dropdown">
<input type="hidden" id="db_type" name="db_type" value="MySQL">
<div class="text">MySQL</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="MySQL">MySQL</div>
<div class="item" data-value="PostgreSQL">PostgreSQL</div>
<div class="item" data-value="SQLite3">SQLite3</div>
</div>
</div>
</div>
<div id="sql_settings" class="">
<div class="inline required field ">
<label for="db_host">Host</label>
<input id="db_host" name="db_host" value="127.0.0.1:3306">
</div>
<div class="inline required field ">
<label for="db_user">User</label>
<input id="db_user" name="db_user" value="root">
</div>
<div class="inline required field ">
<label for="db_passwd">Password</label>
<input id="db_passwd" name="db_passwd" type="password" value="">
</div>
<div class="inline required field ">
<label for="db_name">Database Name</label>
<input id="db_name" name="db_name" value="gogs">
<span class="help">Please use INNODB engine with utf8_general_ci charset for MySQL.</span>
</div>
</div>
<div id="pgsql_settings" class="hide">
<div class="inline required field">
<label>SSL Mode</label>
<div class="ui selection database type dropdown">
<input type="hidden" name="ssl_mode" value="disable">
<div class="default text">disable</div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="disable">Disable</div>
<div class="item" data-value="require">Require</div>
<div class="item" data-value="verify-full">Verify Full</div>
</div>
</div>
</div>
</div>
<div id="sqlite_settings" class="hide">
<div class="inline required field ">
<label for="db_path">Path</label>
<input id="db_path" name="db_path" value="data/gogs.db">
<span class="help">The file path of SQLite3 or TiDB database. <br>Please use absolute path when you start as service.</span>
</div>
</div>
這是我的規格文件;
require 'spec_helper'
describe "Configure Gogs" do
include Capybara::DSL
context 'Gogs Settings' do
before { visit "http://0.0.0.0:3000" }
it 'fill settings' do
select 'SQLite3', from: 'db_type'
fill_in :db_path, with: '/data/gogs.db'
within("#sql_settings") do
fill_in :db_host, with: '127.0.0.1:3306'
fill_in :db_user, with: 'Tom'
fill_in :db_passwd, with: '123456'
fill_in :db_name, with: 'vitakid'
fill_in :db_name, with: 'vitakid'
end
fill_in :app_name, with: 'CODE'
fill_in :repo_root_path, with: '/data/git/gogs'
fill_in :run_user, with: 'git'
fill_in :domain, with: 'localhost'
fill_in :ssh_port, with: '22'
fill_in :http_port, with: '3000'
fill_in :app_url, with: 'http://localhost:3000/'
fill_in :log_root_path, with: '/app/gogs/log'
click_button 'Install Gogs'
save_and_open_page
end
末 結束 這到底是我的錯誤;
1)配置視護目鏡視護目鏡設置填充設置 故障/錯誤:選擇 '的SQLite3',從:在2.74秒成品 'db_type'
Capybara::ElementNotFound:
Unable to find select box "db_type"
# ./spec/gogs_spec.rb:10:in `block (3 levels) in <top (required)>'
(文件採取0.76115秒加載) 1例如1點失敗
失敗的例子:
rspec的./spec/gogs_spec.rb:9#配置視護目鏡視護目鏡設置填充設置
我可以試着找到給它錯誤的地方。請幫助