Best Selenium code snippet using Selenium.WebDriver.keyboard
action_builder.rb
Source:action_builder.rb
...20 class ActionBuilder21 #22 # @api private23 #24 def initialize(mouse, keyboard)25 @devices = {26 :mouse => mouse,27 :keyboard => keyboard28 }29 @actions = []30 end31 #32 # Performs a modifier key press. Does not release33 # the modifier key - subsequent interactions may assume it's kept pressed.34 # Note that the modifier key is never released implicitly - either35 # #key_up(key) or #send_keys(:null) must be called to release the modifier.36 #37 # Equivalent to:38 # driver.action.click(element).send_keys(key)39 # # or40 # driver.action.click.send_keys(key)41 #42 # @example Press a key43 #44 # driver.action.key_down(:control).perform45 #46 # @example Press a key on an element47 #48 # el = driver.find_element(:id, "some_id")49 # driver.action.key_down(el, :shift).perform50 #51 # @param [:shift, :alt, :control, :command, :meta] The key to press.52 # @param [Selenium::WebDriver::Element] element An optional element53 # @raise [ArgumentError] if the given key is not a modifier54 # @return [ActionBuilder] A self reference.55 #56 def key_down(*args)57 if args.first.kind_of? Element58 @actions << [:mouse, :click, [args.shift]]59 end60 @actions << [:keyboard, :press, args]61 self62 end63 #64 # Performs a modifier key release.65 # Releasing a non-depressed modifier key will yield undefined behaviour.66 #67 # @example Release a key68 #69 # driver.action.key_up(:shift).perform70 #71 # @example Release a key from an element72 #73 # el = driver.find_element(:id, "some_id")74 # driver.action.key_up(el, :alt).perform75 #76 # @param [:shift, :alt, :control, :command, :meta] The modifier key to release.77 # @param [Selenium::WebDriver::Element] element An optional element78 # @raise [ArgumentError] if the given key is not a modifier key79 # @return [ActionBuilder] A self reference.80 #81 def key_up(*args)82 if args.first.kind_of? Element83 @actions << [:mouse, :click, [args.shift]]84 end85 @actions << [:keyboard, :release, args]86 self87 end88 #89 # Sends keys to the active element. This differs from calling90 # Element#send_keys(keys) on the active element in two ways:91 #92 # * The modifier keys included in this call are not released.93 # * There is no attempt to re-focus the element - so send_keys(:tab) for switching elements should work.94 #95 # @example Send the text "help" to an element96 #97 # el = driver.find_element(:id, "some_id")98 # driver.action.send_keys(el, "help").perform99 #100 # @example Send the text "help" to the currently focused element101 #102 # driver.action.send_keys("help").perform103 #104 # @param [Selenium::WebDriver::Element] element An optional element105 # @param [String] keys The keys to be sent.106 # @return [ActionBuilder] A self reference.107 #108 def send_keys(*args)109 if args.first.kind_of? Element110 @actions << [:mouse, :click, [args.shift]]111 end112 @actions << [:keyboard, :send_keys, args]113 self114 end115 #116 # Clicks (without releasing) in the middle of the given element. This is117 # equivalent to:118 #119 # driver.action.move_to(element).click_and_hold120 #121 # @example Clicking and holding on some element122 #123 # el = driver.find_element(:id, "some_id")124 # driver.action.click_and_hold(el).perform125 #126 # @param [Selenium::WebDriver::Element] element the element to move to and click....
action_builder_spec.rb
Source:action_builder_spec.rb
1require File.expand_path("../spec_helper", __FILE__)2describe Selenium::WebDriver::ActionBuilder do3 let(:bridge) { double("Bridge").as_null_object }4 let(:keyboard) { double(Selenium::WebDriver::Keyboard) }5 let(:mouse) { double(Selenium::WebDriver::Mouse) }6 let(:element) { Selenium::WebDriver::Element.new(bridge, 'element') }7 let(:builder) { Selenium::WebDriver::ActionBuilder.new(mouse, keyboard) }8 it "should create all keyboard actions" do9 keyboard.should_receive(:press).with(:shift)10 keyboard.should_receive(:send_keys).with("abc")11 keyboard.should_receive(:release).with(:control)12 builder.key_down(:shift).13 send_keys("abc").14 key_up(:control).perform15 end16 it "should pass an element to keyboard actions" do17 mouse.should_receive(:click).with(element)18 keyboard.should_receive(:press).with(:shift)19 builder.key_down(element, :shift).perform20 end21 it "should allow supplying individual elements to keyboard actions" do22 element2 = Selenium::WebDriver::Element.new(bridge, 'element2')23 element3 = Selenium::WebDriver::Element.new(bridge, 'element3')24 mouse.should_receive(:click).with(element)25 keyboard.should_receive(:press).with(:shift)26 mouse.should_receive(:click).with(element2)27 keyboard.should_receive(:send_keys).with("abc")28 mouse.should_receive(:click).with(element3)29 keyboard.should_receive(:release).with(:control)30 builder.key_down(element, :shift ).31 send_keys(element2, "abc").32 key_up(element3, :control).perform33 end34 it "should create all mouse actions" do35 mouse.should_receive(:down).with(element)36 mouse.should_receive(:up).with(element)37 mouse.should_receive(:click).with(element)38 mouse.should_receive(:double_click).with(element)39 mouse.should_receive(:move_to).with(element)40 mouse.should_receive(:context_click).with(element)41 builder.click_and_hold(element).42 release(element).43 click(element)....
common.rb
Source:common.rb
...9require 'selenium/webdriver/common/zipper'10require 'selenium/webdriver/common/wait'11require 'selenium/webdriver/common/alert'12require 'selenium/webdriver/common/mouse'13require 'selenium/webdriver/common/keyboard'14require 'selenium/webdriver/common/target_locator'15require 'selenium/webdriver/common/navigation'16require 'selenium/webdriver/common/timeouts'17require 'selenium/webdriver/common/options'18require 'selenium/webdriver/common/search_context'19require 'selenium/webdriver/common/action_builder'20require 'selenium/webdriver/common/driver_extensions/takes_screenshot'21require 'selenium/webdriver/common/driver_extensions/rotatable'22require 'selenium/webdriver/common/driver_extensions/has_input_devices'23require 'selenium/webdriver/common/keys'24require 'selenium/webdriver/common/bridge_helper'25require 'selenium/webdriver/common/driver'26require 'selenium/webdriver/common/element'
keyboard
Using AI Code Generation
1 @driver.get(@base_url + "/")2 @driver.find_element(:id, "gbqfq").clear3 @driver.find_element(:id, "gbqfq").send_keys "selenium"4 @driver.find_element(:id, "gbqfb").click5 def verify(&blk)
keyboard
Using AI Code Generation
1search_box = driver.find_element(:name, 'q')2search_box = driver.find_element(:name, 'q')3search_box = driver.find_element(:name, 'q')4search_box = driver.find_element(:name, 'q')
keyboard
Using AI Code Generation
1driver.find_element(:name, 'q').send_keys "selenium webdriver"2driver.find_element(:name, 'btnK').click3driver.find_element(:name, 'q').send_keys :control, 'a'4driver.find_element(:name, 'q').send_keys :backspace5driver.find_element(:name, 'q').send_keys "selenium webdriver"6driver.find_element(:name, 'btnK').click7driver.find_element(:name, 'q').send_keys [:control, 'a']8driver.find_element(:name, 'q').send_keys [:backspace]9driver.find_element(:name, 'q').send_keys "selenium webdriver"10driver.find_element(:name, 'btnK').click11driver.find_element(:name, 'q').send_keys [:control, 'a'], [:backspace], "selenium webdriver"12driver.find_element(:name, 'btnK').click13driver.find_element(:name, 'q').send_keys [:control, 'a'], [:backspace], "selenium webdriver"14driver.find_element(:name, 'btnK').send_keys :enter
keyboard
Using AI Code Generation
1driver.find_element(:name, 'q').send_keys "Selenium Ruby"2driver.find_element(:name, 'btnK').click3driver.find_element(:name, 'q').send_keys "Selenium Ruby"4driver.find_element(:name, 'btnK').click5driver.find_element(:name, 'q').send_keys "Selenium Ruby"6driver.find_element(:name, 'btnK').click7driver.find_element(:name, 'q').send_keys "Selenium Ruby"8driver.find_element(:name, 'btnK').click9driver.find_element(:name, 'q').send_keys "Selenium Ruby"10driver.find_element(:name, 'btnK').click11driver.find_element(:name, 'q').send_keys "Selenium Ruby"12driver.find_element(:name, 'btnK').click
keyboard
Using AI Code Generation
1search_box = driver.find_element(name: 'q')2search_box = driver.find_element(name: 'q')3search_box = driver.find_element(name: 'q')4search_box = driver.find_element(name: 'q')5search_box = driver.find_element(name: 'q')
keyboard
Using AI Code Generation
1element = driver.find_element(:name, "username")2element = driver.find_element(:name, "username")3element = driver.find_element(:name, "username")4element = driver.find_element(:name, "username")
keyboard
Using AI Code Generation
1driver.find_element(:id, "name").send_keys("World")2driver.find_element(:name, "commit").click3wait.until { driver.find_element(:css, "p").displayed? }4expect(driver.find_element(:css, "p").text).to eql("Hello World!")5driver.find_element(:name, 'btnK').click6driver.find_element(:name, 'q').send_keys "Selenium Ruby"7driver.find_element(:name, 'btnK').click8driver.find_element(:name, 'q').send_keys "Selenium Ruby"9driver.find_element(:name, 'btnK').click10driver.find_element(:name, 'q').send_keys "Selenium Ruby"11driver.find_element(:name, 'btnK').click12driver.find_element(:name, 'q').send_keys "Selenium Ruby"13driver.find_element(:name, 'btnK').click14driver.find_element(:name, 'q').send_keys "Selenium Ruby"15driver.find_element(:name, 'btnK').click
keyboard
Using AI Code Generation
1search_box = driver.find_element(name: 'q')2search_box = driver.find_element(name: 'q')3search_box = driver.find_element(name: 'q')4search_box = driver.find_element(name: 'q')5search_box = driver.find_element(name: 'q')
keyboard
Using AI Code Generation
1element = driver.find_element(:name, "username")2element = driver.find_element(:name, "username")3element = driver.find_element(:name, "username")4element = driver.find_element(:name, "username")
keyboard
Using AI Code Generation
1driver.find_element(:name, 'q').send_keys "Selenium Ruby"2driver.find_element(:name, 'btnK').click3driver.find_element(:name, 'q').send_keys "Selenium Ruby"4driver.find_element(:name, 'btnK').click5driver.find_element(:name, 'q').send_keys "Selenium Ruby"6driver.find_element(:name, 'btnK').click7driver.find_element(:name, 'q').send_keys "Selenium Ruby"8driver.find_element(:name, 'btnK').click9driver.find_element(:name, 'q').send_keys "Selenium Ruby"10driver.find_element(:name, 'btnK').click11driver.find_element(:name, 'q').send_keys "Selenium Ruby"12driver.find_element(:name, 'btnK').click
keyboard
Using AI Code Generation
1element = driver.find_element(:name, "username")2element = driver.find_element(:name, "username")3element = driver.find_element(:name, "username")4element = driver.find_element(:name, "username")
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!