2012-04-09 23 views
12

tôi đang làm việc với đường ray 3 và hiện đang viết thử nghiệm với Capybara sử dụng driver selen, Tôi có vấn đề như saunhấp chuột vào một nút cụ thể sử dụng Capybara trong đường ray

Trong một hình thức tôi đã 3 nút có tên là "tiết kiệm và thêm khác", 'tiết kiệm và tiếp tục chỉnh sửa' và 'Save' Bây giờ, nếu tôi cố gắng để tiết kiệm dạng bởi Capybara như sau

click_button 'Save' 

sau đó này lỗi ném gọi là nút 'lưu' với id, title hoặc giá trị không tìm thấy Bây giờ nếu tôi xóa 2 nút ở trên và sau đó tôi thử nó sau đó nó hoạt động

FYI, 3 nút của tôi html như dưới đây,

<input class="btn" type="submit" value="Save and add another" name="_addanother" data-disable-with="Save and add another">

<input class="btn" type="submit" value="Save and continue editing" name="_continue" data-disable-with="Save and continue editing">

<input class="btn" type="submit" value="Save" name="_save" data-disable-with="Save">

Xin vui lòng cho tôi biết nếu có ai có một ý tưởng.

+0

Hãy thử click_button "Lưu" (dấu ngoặc kép). Bạn đã thử thêm một id riêng biệt cho mỗi nút và sử dụng nó thay vì giá trị? – DanS

+0

Dans, vâng tôi đã thử bằng cách thêm id vào các nút nhưng điều đó không hoạt động –

+0

Bạn đã cung cấp id cho họ? – DanS

Trả lời

9

Tôi nghĩ vấn đề là tất cả các giá trị trả về một trận đấu vì tất cả họ đều chứa 'Lưu'.

Hãy thử chỉ định từng ID riêng biệt và sử dụng id đó thay thế.

+1

Hmm Cảm ơn, tôi đã đặt id và nó hoạt động –

0

phương pháp click_button mong muốn id, tên, giá trị của nút.Below sẽ hoạt động.

click_button 'Save and add another' 
click_button 'Save and continue editing' 

Và cuối cùng nút hoạt động mà không bất kỳ lỗi vì giá trị của nó là 'Lưu'

click_button 'Save' 
+0

Tôi nghĩ rằng vấn đề là cuối cùng chỉ hoạt động khi các nút khác được xóa ... – DanS

+0

Cảm ơn, nhưng có tôi biết rằng nút 'Lưu' sẽ hoạt động nếu tôi viết 'click_buttion 'Save'', nhưng hiện tại nó không hoạt động và nó ném lỗi như tôi đã nói trong qustion của tôi .. nếu tôi xóa 2 nút ở trên thì chỉ có 'click_button' Save'' hoạt động –

+0

Có DanS, bạn nói đúng .. đó là vấn đề –

-1

tôi đã đưa ra các giải pháp sau đây

mô-đun ValidUserRequestHelper

# for use in request specs 
def sign_in_as_a_valid_user 
    before(:each) do 
    user = FactoryGirl.create :user 
    visit user_session_path 
    fill_in 'user_email', :with => '[email protected]' 
    fill_in 'user_password', :with => 'foobar' 
    click_button 'Einloggen' 
    end 
end 
1

Matching With Exactness - từ các tài liệu GitHub. Việc sử dụng tính chính xác có thể sẽ làm ít tác động hơn là thay đổi mẫu của bạn.

click_button('Save', exact: true)

này sẽ chỉ tìm thấy những trận đấu chính xác và bỏ qua 'Lưu blah' hành động.

Các vấn đề liên quan