2011-11-28 14 views
7
benim salatalık testinde bir onay kutusunu çalışıyorum

dışındaki tarafından onay kutusunu bulmak, ama id, isim dışında başka bir şeyden arama yapmasını istediğiniz anlamaya olamaz, ya etiket.Salatalık Capybara id, ad veya etiket

cannot check field, no checkbox with id, name, or label 'xxxx' found 

Ben özel bir değere sahip, her onay kutusunu 'tanımlayıcı' bir niteliğinin ekledik ve bu şartlarla kutuyu bulmak istiyoruz: Bu hatayı almaya devam ediyor.

cevap

7

Eğer her onay kutusunu identifier adlı yeni özellik ekledik anlamına musunuz? Eğer öyleyse o zaman bir CSS bulucu kullanarak onları bulmak mümkün olabilir: (. o işaretini kaldırmak için false kullanmak true çek onay kutusunu -Ing set)

find(:css, "[identifier='#{my_checkbox_identifier}']").set(true)

+0

Evet, haklısın - Bunu bir özellik olarak eklendi geliyordu. O kodu deneyin Ancak, bu hatayı alıyorum: css bulunamadı "[tanımlayıcı = 'kontrol edin: NCO']" (Capybara :: ElementNotFound). oluşturulan HTML:

+0

ben bu kodu denemek için zaman alamadım, belki de gerek öğeyi belirtin örn. 'Giriş [tanımlayıcı = ...' –

+0

Hala (css bulunamadı "girişi [tanımlayıcı = \" atın: Astsubay \ "]" (Capybara :: ElementNotFound)) benim için çalışıyor gibi görünmüyor. –

2

bu soruyu gerçekleştirilmesi olduğunu Oldukça eski, bir cevap hala bir yerde, bir yerde yararlı olabilir. İşe aşağıdaki bulundu:

find(:xpath, "//input[@identifier='my_checkbox_identifier']").set(true)

İlgili konular