1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00

Add Click On Text With Capybara as a ruby til

This commit is contained in:
jbranchaud
2019-09-06 15:03:41 -05:00
parent 02778658b5
commit 2ec507884a
2 changed files with 24 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
For a steady stream of TILs from a variety of rocketeers, checkout
[til.hashrocket.com](https://til.hashrocket.com/).
_842 TILs and counting..._
_843 TILs and counting..._
---
@@ -629,6 +629,7 @@ _842 TILs and counting..._
- [Assoc For Hashes](ruby/assoc-for-hashes.md)
- [Block Comments](ruby/block-comments.md)
- [Chaining Multiple RSpec Change Matchers](ruby/chaining-multiple-rspec-change-matchers.md)
- [Click On Text With Capybara](ruby/click-on-text-with-capybara.md)
- [Colorful Output With MiniTest](ruby/colorful-output-with-minitest.md)
- [Comparing Class Hierarchy Relationships](ruby/comparing-class-hierarchy-relationships.md)
- [Comparing Arrays In RSpec](ruby/comparing-arrays-in-rspec.md)

View File

@@ -0,0 +1,22 @@
# Click On Text With Capybara
Traditionally, web apps have clickable text in the form of links and buttons.
[Capybara's
`click_on`](https://www.rubydoc.info/github/jnicklas/capybara/Capybara/Node/Actions#click_link_or_button-instance_method)
method is made for just this.
```ruby
click_on("Home") # for <a ... >Home</a>
click_on("Submit") # for <button ...>Submit</button>
```
A lot of more modern, JS-heavy apps stick click handlers on all kinds of
elements. If you want to test what happens when you click some text that is not
a link or button, `click_on` won't work. Instead, you'll need to find the
element and
[`click`](https://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Element#click-instance_method)
on it.
```ruby
find("span", text: "Click Me").click
```