水豚 fill_in 不工作
Capybara fill_in isn't working
我正在使用 Rails 4.2.1 并使用 Capybara 2.4 进行测试。我遇到一些输入字段未使用水豚 fill_in 方法填写的问题。
我没有收到 ElementNotFound 错误,我收到的是:
预期:“2018-01-10”
得到:“”
(使用==比较)
测试代码如下:
注意:fill_in 适用于电子邮件、密码和程序名称字段,但不适用于 primary_training_start、primary_comp_start 和 primary_comp_end。
it 'create program' do
visit '/'
fill_in 'Email', with: 'john@doe.com'
fill_in 'Enter Your Password', with: 'test123'
click_on 'Log In'
fill_in 'Program Name', with: 'My Training'
find('.exclusive').click
click_on 'Next Step'
all('.creator-wayfinder li')[1].click
expect(page).to have_content('SET THE SCHEDULE')
fill_in 'primary_training_start', with: '2018-01-10'
fill_in 'primary_comp_start', with: '2018-02-10'
fill_in 'primary_comp_end', with: '2018-03-10'
expect(find_field('primary_training_start').value).to eq('2018-01-10')
expect(find_field('primary_comp_start').value).to eq('2018-02-10')
expect(find_field('primary_comp_end').value).to eq('2018-03-10')
click_on 'Show Program Schedule'
end
这里是 primary_training_start 字段的 HTML:
<div>
<mark>Start Training</mark>
<span class="datepicker" date-format="M/d/yyyy" date-set="{{program.training_calendar_details.primary_training_start}}">
<input required
ng-model="program.training_calendar_details.primary_training_start"
name="primary_training_start"
type="text" tabbable tabindex="0" />
</span>
<errors for="primary_training_start" model="program.training_calendar_details.primary_training_start"></errors>
</div>
我试过这个:但没有任何运气。
尝试输入一个 id
<input required
ng-model="program.training_calendar_details.primary_training_start"
name="program[training_calendar_details][primary_training_start]"
id="primary_training_start"
type="text" tabbable tabindex="0" />
fill_in 使用第一个参数作为 id
我正在使用 Rails 4.2.1 并使用 Capybara 2.4 进行测试。我遇到一些输入字段未使用水豚 fill_in 方法填写的问题。
我没有收到 ElementNotFound 错误,我收到的是:
预期:“2018-01-10” 得到:“”
(使用==比较)
测试代码如下: 注意:fill_in 适用于电子邮件、密码和程序名称字段,但不适用于 primary_training_start、primary_comp_start 和 primary_comp_end。
it 'create program' do
visit '/'
fill_in 'Email', with: 'john@doe.com'
fill_in 'Enter Your Password', with: 'test123'
click_on 'Log In'
fill_in 'Program Name', with: 'My Training'
find('.exclusive').click
click_on 'Next Step'
all('.creator-wayfinder li')[1].click
expect(page).to have_content('SET THE SCHEDULE')
fill_in 'primary_training_start', with: '2018-01-10'
fill_in 'primary_comp_start', with: '2018-02-10'
fill_in 'primary_comp_end', with: '2018-03-10'
expect(find_field('primary_training_start').value).to eq('2018-01-10')
expect(find_field('primary_comp_start').value).to eq('2018-02-10')
expect(find_field('primary_comp_end').value).to eq('2018-03-10')
click_on 'Show Program Schedule'
end
这里是 primary_training_start 字段的 HTML:
<div>
<mark>Start Training</mark>
<span class="datepicker" date-format="M/d/yyyy" date-set="{{program.training_calendar_details.primary_training_start}}">
<input required
ng-model="program.training_calendar_details.primary_training_start"
name="primary_training_start"
type="text" tabbable tabindex="0" />
</span>
<errors for="primary_training_start" model="program.training_calendar_details.primary_training_start"></errors>
</div>
我试过这个:
尝试输入一个 id
<input required
ng-model="program.training_calendar_details.primary_training_start"
name="program[training_calendar_details][primary_training_start]"
id="primary_training_start"
type="text" tabbable tabindex="0" />
fill_in 使用第一个参数作为 id