Skip to content

Commit 514156c

Browse files
committed
rb - fix issues with Microsoft Edge support
1 parent b1c9ada commit 514156c

File tree

2 files changed

+25
-18
lines changed

2 files changed

+25
-18
lines changed

rb/lib/selenium/webdriver/edge/legacy_support.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def execute_async_script(script, *args)
4242
end
4343

4444
def submit_element(element)
45-
execute :submitElement, id: element
45+
execute :submitElement, id: element['ELEMENT']
4646
end
4747

4848
def double_click
@@ -66,7 +66,8 @@ def mouse_up
6666
end
6767

6868
def mouse_move_to(element, x = nil, y = nil)
69-
params = {element: element}
69+
element_id = element['ELEMENT'] if element
70+
params = {element: element_id}
7071

7172
if x && y
7273
params[:xoffset] = x

rb/spec/integration/selenium/webdriver/keyboard_spec.rb

+22-16
Original file line numberDiff line numberDiff line change
@@ -24,31 +24,37 @@ module WebDriver
2424
# Firefox - "Actions Endpoint Not Yet Implemented"
2525
not_compliant_on browser: [:safari, :ff_legacy, :firefox] do
2626
describe Keyboard do
27-
it 'sends keys to the active element' do
28-
driver.navigate.to url_for('bodyTypingTest.html')
27+
# Edge - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8339952
28+
not_compliant_on browser: :edge do
29+
it 'sends keys to the active element' do
30+
driver.navigate.to url_for('bodyTypingTest.html')
2931

30-
driver.keyboard.send_keys 'ab'
32+
driver.keyboard.send_keys 'ab'
3133

32-
text = driver.find_element(id: 'body_result').text.strip
33-
expect(text).to eq('keypress keypress')
34+
text = driver.find_element(id: 'body_result').text.strip
35+
expect(text).to eq('keypress keypress')
3436

35-
expect(driver.find_element(id: 'result').text.strip).to be_empty
37+
expect(driver.find_element(id: 'result').text.strip).to be_empty
38+
end
3639
end
3740

38-
it 'can send keys with shift pressed' do
39-
driver.navigate.to url_for('javascriptPage.html')
41+
# Edge - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8339952
42+
not_compliant_on browser: :edge do
43+
it 'can send keys with shift pressed' do
44+
driver.navigate.to url_for('javascriptPage.html')
4045

41-
event_input = driver.find_element(id: 'theworks')
42-
keylogger = driver.find_element(id: 'result')
46+
event_input = driver.find_element(id: 'theworks')
47+
keylogger = driver.find_element(id: 'result')
4348

44-
driver.mouse.click event_input
49+
driver.mouse.click event_input
4550

46-
driver.keyboard.press :shift
47-
driver.keyboard.send_keys 'ab'
48-
driver.keyboard.release :shift
51+
driver.keyboard.press :shift
52+
driver.keyboard.send_keys 'ab'
53+
driver.keyboard.release :shift
4954

50-
expect(event_input.attribute(:value)).to eq('AB')
51-
expect(keylogger.text.strip).to match(/^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/)
55+
expect(event_input.attribute(:value)).to eq('AB')
56+
expect(keylogger.text.strip).to match(/^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/)
57+
end
5258
end
5359

5460
it 'raises an ArgumentError if the pressed key is not a modifier key' do

0 commit comments

Comments
 (0)