-
Star
(3,549)
You must be signed in to star a gist -
Fork
(994)
You must be signed in to fork a gist
-
-
Save zhengjia/428105 to your computer and use it in GitHub Desktop.
=Navigating= | |
visit('/projects') | |
visit(post_comments_path(post)) | |
=Clicking links and buttons= | |
click_link('id-of-link') | |
click_link('Link Text') | |
click_button('Save') | |
click('Link Text') # Click either a link or a button | |
click('Button Value') | |
=Interacting with forms= | |
fill_in('First Name', :with => 'John') | |
fill_in('Password', :with => 'Seekrit') | |
fill_in('Description', :with => 'Really Long Text…') | |
choose('A Radio Button') | |
check('A Checkbox') | |
uncheck('A Checkbox') | |
attach_file('Image', '/path/to/image.jpg') | |
select('Option', :from => 'Select Box') | |
=scoping= | |
within("//li[@id='employee']") do | |
fill_in 'Name', :with => 'Jimmy' | |
end | |
within(:css, "li#employee") do | |
fill_in 'Name', :with => 'Jimmy' | |
end | |
within_fieldset('Employee') do | |
fill_in 'Name', :with => 'Jimmy' | |
end | |
within_table('Employee') do | |
fill_in 'Name', :with => 'Jimmy' | |
end | |
=Querying= | |
page.has_xpath?('//table/tr') | |
page.has_css?('table tr.foo') | |
page.has_content?('foo') | |
page.should have_xpath('//table/tr') | |
page.should have_css('table tr.foo') | |
page.should have_content('foo') | |
page.should have_no_content('foo') | |
find_field('First Name').value | |
find_link('Hello').visible? | |
find_button('Send').click | |
find('//table/tr').click | |
locate("//*[@id='overlay'").find("//h1").click | |
all('a').each { |a| a[:href] } | |
=Scripting= | |
result = page.evaluate_script('4 + 4'); | |
=Debugging= | |
save_and_open_page | |
=Asynchronous JavaScript= | |
click_link('foo') | |
click_link('bar') | |
page.should have_content('baz') | |
page.should_not have_xpath('//a') | |
page.should have_no_xpath('//a') | |
=XPath and CSS= | |
within(:css, 'ul li') { ... } | |
find(:css, 'ul li').text | |
locate(:css, 'input#name').value | |
Capybara.default_selector = :css | |
within('ul li') { ... } | |
find('ul li').text | |
locate('input#name').value |
Nice @hooverlunch, thanks!
Guys good day. Can you help me on how can i create a test report when i am using capybara-cucumber in my automation. What gem should i need to install and how should i invoke it. Thank you in advance.
👍
I am unable to hit "enter" key , any solution?
This is simple and great. Thanks!
I'm always coming back to this. Thanks for a great list!
Excellent! Thanks :)
Awesome!
Thanks for this great gist 👍
Great! 👍
Awesome, thanks! (FYI, this gist was used by LaunchAcademy here)
When i use find(<name_of_object>).click, I get following error
Unable to find css "" (Capybara::ElementNotFound)
Can someone please help?
@vishakhapanat Did you find a solution for your error?
To note, things like have_css
, and have_xpath
also have some optional arguments which help better querying. For instance have_css(".widget", maximum: 2)
👍 👍 👍
Hiii
I want to use xpath with select method in cucumber rails so how can i use xpath with select method?
How do you wait for page to load in webrat?
👍
TY
Thanks a lot. Helpful
Amazing article!
Very helpful!
Is this up to date in July 2019?
👍
Useful thanks !
Could someone give a little bit more info about tab handling ? opening new tab, switching, closing please ?
Thanks a lot !
thanks!
thanks
mmmm capy
save_and_open_screenshot
https://devhints.io/capybara pretty much covers all of the available capybara actions
Compact, printable version: https://drive.google.com/file/d/0ByAb4A9TD5wBTF9kLVcyUFNrQUU/view?usp=sharing