How to use add method of Capybara Package

Best Capybara code snippet using Capybara.add

capybara.rb

Source:capybara.rb Github

copy

Full Screen

...74 end75 ##76 #77 # Add a new selector to Capybara. Selectors can be used by various methods in Capybara78 # to find certain elements on the page in a more convenient way. For example adding a79 # selector to find certain table rows might look like this:80 #81 # Capybara.add_selector(:row) do82 # xpath { |num| ".//tbody/tr[#{num}]" }83 # end84 #85 # This makes it possible to use this selector in a variety of ways:86 #87 # find(:row, 3)88 # page.find('table#myTable').find(:row, 3).text89 # page.find('table#myTable').has_selector?(:row, 3)90 # within(:row, 3) { expect(page).to have_content('$100.000') }91 #92 # Here is another example:93 #94 # Capybara.add_selector(:id) do95 # xpath { |id| XPath.descendant[XPath.attr(:id) == id.to_s] }96 # end97 #98 # Note that this particular selector already ships with Capybara.99 #100 # @param [Symbol] name The name of the selector to add101 # @yield A block executed in the context of the new {Capybara::Selector}102 #103 def add_selector(name, &block)104 Capybara::Selector.add(name, &block)105 end106 def drivers107 @drivers ||= {}108 end109 ##110 #111 # Register a proc that Capybara will call to run the Rack application.112 #113 # Capybara.server do |app, port|114 # require 'rack/handler/mongrel'115 # Rack::Handler::Mongrel.run(app, :Port => port)116 # end117 #118 # By default, Capybara will try to run webrick.119 #120 # @yield [app, port] This block receives a rack app and port and should run a Rack handler121 #122 def server(&block)123 if block_given?124 @server = block125 else126 @server127 end128 end129 ##130 #131 # Wraps the given string, which should contain an HTML document or fragment132 # in a {Capybara::Node::Simple} which exposes all {Capybara::Node::Matchers},133 # {Capybara::Node::Finders} and {Capybara::Node::DocumentMatchers}. This allows you to query134 # any string containing HTML in the exact same way you would query the current document in a Capybara135 # session. For example:136 #137 # node = Capybara.string <<-HTML138 # <ul>139 # <li id="home">Home</li>140 # <li id="projects">Projects</li>141 # </ul>142 # HTML143 #144 # node.find('#projects').text # => 'Projects'145 # node.has_selector?('li#home', :text => 'Home')146 # node.has_selector?('#projects')147 # node.find('ul').find('li:first-child').text # => 'Home'148 #149 # @param [String] html An html fragment or document150 # @return [Capybara::Node::Simple] A node which has Capybara's finders and matchers151 #152 def string(html)153 Capybara::Node::Simple.new(html)154 end155 ##156 #157 # Runs Capybara's default server for the given application and port158 # under most circumstances you should not have to call this method159 # manually.160 #161 # @param [Rack Application] app The rack application to run162 # @param [Fixnum] port The port to run the application on163 #164 def run_default_server(app, port)165 require 'rack/handler/webrick'166 Rack::Handler::WEBrick.run(app, :Host => server_host, :Port => port, :AccessLog => [], :Logger => WEBrick::Log::new(nil, 0))167 end168 ##169 #170 # @return [Symbol] The name of the driver to use by default171 #172 def default_driver173 @default_driver || :rack_test174 end175 ##176 #177 # @return [Symbol] The name of the driver currently in use178 #179 def current_driver180 @current_driver || default_driver181 end182 alias_method :mode, :current_driver183 ##184 #185 # @return [Symbol] The name of the driver used when JavaScript is needed186 #187 def javascript_driver188 @javascript_driver || :selenium189 end190 ##191 #192 # Use the default driver as the current driver193 #194 def use_default_driver195 @current_driver = nil196 end197 ##198 #199 # Yield a block using a specific driver200 #201 def using_driver(driver)202 previous_driver = Capybara.current_driver203 Capybara.current_driver = driver204 yield205 ensure206 @current_driver = previous_driver207 end208 ##209 #210 # @return [String] The IP address bound by default server211 #212 def server_host213 @server_host || '127.0.0.1'214 end215 ##216 #217 # Yield a block using a specific wait time218 #219 def using_wait_time(seconds)220 previous_wait_time = Capybara.default_max_wait_time221 Capybara.default_max_wait_time = seconds222 yield223 ensure224 Capybara.default_max_wait_time = previous_wait_time...

Full Screen

Full Screen

capybara-0.3.9.gemspec

Source:capybara-0.3.9.gemspec Github

copy

Full Screen

...17 s.summary = %q{Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb}18 if s.respond_to? :specification_version then19 s.specification_version = 320 if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then21 s.add_runtime_dependency(%q<nokogiri>, [">= 1.3.3"])22 s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])23 s.add_runtime_dependency(%q<culerity>, [">= 0.2.4"])24 s.add_runtime_dependency(%q<selenium-webdriver>, [">= 0.0.3"])25 s.add_runtime_dependency(%q<rack>, [">= 1.0.0"])26 s.add_runtime_dependency(%q<rack-test>, [">= 0.5.4"])27 s.add_development_dependency(%q<sinatra>, [">= 0.9.4"])28 s.add_development_dependency(%q<rspec>, [">= 1.2.9"])29 s.add_development_dependency(%q<launchy>, [">= 0.3.5"])30 else31 s.add_dependency(%q<nokogiri>, [">= 1.3.3"])32 s.add_dependency(%q<mime-types>, [">= 1.16"])33 s.add_dependency(%q<culerity>, [">= 0.2.4"])34 s.add_dependency(%q<selenium-webdriver>, [">= 0.0.3"])35 s.add_dependency(%q<rack>, [">= 1.0.0"])36 s.add_dependency(%q<rack-test>, [">= 0.5.4"])37 s.add_dependency(%q<sinatra>, [">= 0.9.4"])38 s.add_dependency(%q<rspec>, [">= 1.2.9"])39 s.add_dependency(%q<launchy>, [">= 0.3.5"])40 end41 else42 s.add_dependency(%q<nokogiri>, [">= 1.3.3"])43 s.add_dependency(%q<mime-types>, [">= 1.16"])44 s.add_dependency(%q<culerity>, [">= 0.2.4"])45 s.add_dependency(%q<selenium-webdriver>, [">= 0.0.3"])46 s.add_dependency(%q<rack>, [">= 1.0.0"])47 s.add_dependency(%q<rack-test>, [">= 0.5.4"])48 s.add_dependency(%q<sinatra>, [">= 0.9.4"])49 s.add_dependency(%q<rspec>, [">= 1.2.9"])50 s.add_dependency(%q<launchy>, [">= 0.3.5"])51 end52end...

Full Screen

Full Screen

add

Using AI Code Generation

copy

Full Screen

1Capybara.add_selector(:button) do2Capybara.add_selector(:button) do3Capybara.add_selector(:button) do4Capybara.add_selector(:button) do5Capybara.add_selector(:button) do6Capybara.add_selector(:button) do7Capybara.add_selector(:button) do8Capybara.add_selector(:button) do9Capybara.add_selector(:button) do

Full Screen

Full Screen

add

Using AI Code Generation

copy

Full Screen

1Capybara.add_selector(:link) do2session = Capybara::Session.new(:selenium)3session.find(:link, 'About').click4Capybara.add_selector(:link) do5find(:link, 'About').click6Capybara.add_selector(:link) do7find(:link, 'About').click8Capybara.add_selector(:link) do9find(:link, 'About').click10Capybara.add_selector(:link) do11find(:link, 'About').click12Capybara.add_selector(:link) do

Full Screen

Full Screen

add

Using AI Code Generation

copy

Full Screen

1Capybara.add_selector(:my_selector) do2Capybara.add_selector(:my_selector) do3Capybara.add_selector(:my_selector) do4Capybara.add_selector(:my_selector) do5Capybara.add_selector(:my_selector) do6Capybara.add_selector(:my_selector) do7Capybara.add_selector(:my_selector) do8Capybara.add_selector(:my_selector) do9Capybara.add_selector(:my_selector) do

Full Screen

Full Screen

add

Using AI Code Generation

copy

Full Screen

1Capybara.add_selector(:button) do2page.find(:button, 'Save')3Capybara.add_selector(:link) do4page.find(:link, 'Sign In')5Capybara.add_selector(:link) do6page.find(:link, 'Sign In')7Capybara.add_selector(:link) do8page.find(:link, 'Sign In')9Capybara.add_selector(:link) do10page.find(:link, 'Sign In')11Capybara.add_selector(:link) do12page.find(:link, 'Sign In')13Capybara.add_selector(:link) do14page.find(:link, 'Sign In')15Capybara.add_selector(:link) do16page.find(:link, 'Sign In')17Capybara.add_selector(:link) do18page.find(:link, 'Sign In')19Capybara.add_selector(:link) do20page.find(:link, 'Sign In')21Capybara.add_selector(:link) do22page.find(:link, 'Sign In')23Capybara.add_selector(:link) do24page.find(:link, 'Sign In')25Capybara.add_selector(:link) do

Full Screen

Full Screen

add

Using AI Code Generation

copy

Full Screen

1Capybara.add(2,3)2Capybara.add(3,4)3Capybara.add(4,5)4Capybara.add(5,6)5Capybara.add(6,7)6Capybara.add(7,8)7Capybara.add(8,9)8Capybara.add(9,10)9Capybara.add(10,11)

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Capybara automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful