Skip to content

Commit 8b11858

Browse files
authored
Merge branch 'trunk' into java-session-status-test-fix
2 parents 1764e8f + 1cfa0a0 commit 8b11858

File tree

6 files changed

+45
-32
lines changed

6 files changed

+45
-32
lines changed

rb/spec/integration/selenium/webdriver/action_builder_spec.rb

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ module WebDriver
4444
input = driver.find_element(css: '#working')
4545

4646
driver.action.send_keys(input, 'abcd').perform
47-
wait.until { input.attribute(:value).length == 4 }
48-
expect(input.attribute(:value)).to eq('abcd')
47+
wait.until { input.property(:value).length == 4 }
48+
expect(input.property(:value)).to eq('abcd')
4949
end
5050

5151
it 'sends keys with multiple arguments' do
@@ -55,8 +55,8 @@ module WebDriver
5555
input.click
5656

5757
driver.action.send_keys('abcd', 'dcba').perform
58-
wait.until { input.attribute(:value).length == 8 }
59-
expect(input.attribute(:value)).to eq('abcddcba')
58+
wait.until { input.property(:value).length == 8 }
59+
expect(input.property(:value)).to eq('abcddcba')
6060
end
6161

6262
it 'sends non-ASCII keys' do
@@ -66,8 +66,8 @@ module WebDriver
6666
input.click
6767

6868
driver.action.send_keys('abcd', :left, 'a').perform
69-
wait.until { input.attribute(:value).length == 5 }
70-
expect(input.attribute(:value)).to eq('abcad')
69+
wait.until { input.property(:value).length == 5 }
70+
expect(input.property(:value)).to eq('abcad')
7171
end
7272
end
7373

@@ -81,9 +81,9 @@ module WebDriver
8181
event_input.click
8282

8383
driver.action.key_down(:shift).send_keys('ab').key_up(:shift).perform
84-
wait.until { event_input.attribute(:value).length == 2 }
84+
wait.until { event_input.property(:value).length == 2 }
8585

86-
expect(event_input.attribute(:value)).to eq('AB')
86+
expect(event_input.property(:value)).to eq('AB')
8787
expected = keylogger.text.strip
8888
expect(expected).to match(/^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/)
8989
end
@@ -131,10 +131,10 @@ module WebDriver
131131
event_input = driver.find_element(id: 'clickField')
132132

133133
driver.action.click_and_hold(event_input).perform
134-
expect(event_input.attribute(:value)).to eq('Hello')
134+
expect(event_input.property(:value)).to eq('Hello')
135135

136136
driver.action.release_actions
137-
expect(event_input.attribute(:value)).to eq('Clicked')
137+
expect(event_input.property(:value)).to eq('Clicked')
138138
end
139139
end
140140

@@ -143,24 +143,27 @@ module WebDriver
143143
driver.navigate.to url_for('javascriptPage.html')
144144
element = driver.find_element(id: 'clickField')
145145
driver.action.click(element).perform
146-
expect(element.attribute(:value)).to eq('Clicked')
146+
expect(element.property(:value)).to eq('Clicked')
147147
end
148148

149149
it 'executes with equivalent pointer methods' do
150150
driver.navigate.to url_for('javascriptPage.html')
151151
element = driver.find_element(id: 'clickField')
152152
driver.action.move_to(element).pointer_down(:left).pointer_up(:left).perform
153-
expect(element.attribute(:value)).to eq('Clicked')
153+
expect(element.property(:value)).to eq('Clicked')
154154
end
155155
end
156156

157157
describe '#double_click' do
158+
# https://issues.chromium.org/issues/400087471
159+
before { reset_driver! if GlobalTestEnv.rbe? && GlobalTestEnv.browser == :chrome }
160+
158161
it 'presses pointer twice', except: {browser: %i[safari safari_preview]} do
159162
driver.navigate.to url_for('javascriptPage.html')
160163
element = driver.find_element(id: 'doubleClickField')
161164

162165
driver.action.double_click(element).perform
163-
expect(element.attribute(:value)).to eq('DoubleClicked')
166+
expect(element.property(:value)).to eq('DoubleClicked')
164167
end
165168

166169
it 'executes with equivalent pointer methods', except: {browser: %i[safari safari_preview]} do
@@ -171,7 +174,7 @@ module WebDriver
171174
.pointer_down(:left).pointer_up(:left)
172175
.pointer_down(:left).pointer_up(:left)
173176
.perform
174-
expect(element.attribute(:value)).to eq('DoubleClicked')
177+
expect(element.property(:value)).to eq('DoubleClicked')
175178
end
176179
end
177180

@@ -181,15 +184,15 @@ module WebDriver
181184
element = driver.find_element(id: 'doubleClickField')
182185

183186
driver.action.context_click(element).perform
184-
expect(element.attribute(:value)).to eq('ContextClicked')
187+
expect(element.property(:value)).to eq('ContextClicked')
185188
end
186189

187190
it 'executes with equivalent pointer methods' do
188191
driver.navigate.to url_for('javascriptPage.html')
189192
element = driver.find_element(id: 'doubleClickField')
190193

191194
driver.action.move_to(element).pointer_down(:right).pointer_up(:right).perform
192-
expect(element.attribute(:value)).to eq('ContextClicked')
195+
expect(element.property(:value)).to eq('ContextClicked')
193196
end
194197
end
195198

@@ -199,7 +202,7 @@ module WebDriver
199202
element = driver.find_element(id: 'clickField')
200203
driver.action.move_to(element).click.perform
201204

202-
expect(element.attribute(:value)).to eq('Clicked')
205+
expect(element.property(:value)).to eq('Clicked')
203206
end
204207

205208
it 'moves to element with offset' do
@@ -212,7 +215,7 @@ module WebDriver
212215
y_offset = (destination_rect.y - origin_rect.y).ceil
213216

214217
driver.action.move_to(origin, x_offset, y_offset).click.perform
215-
expect(destination.attribute(:value)).to eq('Clicked')
218+
expect(destination.property(:value)).to eq('Clicked')
216219
end
217220
end
218221

@@ -256,7 +259,7 @@ module WebDriver
256259
rect = element.rect
257260
driver.action.move_to_location(rect.x.ceil, rect.y.ceil).click.perform
258261

259-
expect(element.attribute(:value)).to eq('Clicked')
262+
expect(element.property(:value)).to eq('Clicked')
260263
end
261264
end
262265

rb/spec/integration/selenium/webdriver/driver_spec.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
module Selenium
2323
module WebDriver
2424
describe Driver, exclusive: {bidi: false, reason: 'Not yet implemented with BiDi'} do
25+
after { reset_driver! if GlobalTestEnv.rbe? && GlobalTestEnv.browser == :chrome }
26+
2527
it_behaves_like 'driver that can be started concurrently', exclude: [
2628
{browser: %i[safari safari_preview]},
27-
{browser: :firefox, rbe: true, reason: 'https://github.com/mozilla/geckodriver/issues/2219'},
29+
{browser: :firefox, reason: 'https://github.com/SeleniumHQ/selenium/issues/15451'},
2830
{driver: :remote, rbe: true, reason: 'Cannot start 2+ drivers at once.'}
2931
]
3032

@@ -60,8 +62,7 @@ module WebDriver
6062

6163
it 'refreshes the page' do
6264
driver.navigate.to url_for('javascriptPage.html')
63-
sleep 1 # javascript takes too long to load
64-
driver.find_element(id: 'updatediv').click
65+
short_wait { driver.find_element(id: 'updatediv') }.click
6566
expect(driver.find_element(id: 'dynamo').text).to eq('Fish and chips!')
6667
driver.navigate.refresh
6768
wait_for_element(id: 'dynamo')

rb/spec/integration/selenium/webdriver/manager_spec.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,13 @@ module WebDriver
2525
describe 'cookie management' do
2626
before { driver.navigate.to url_for('xhtmlTest.html') }
2727

28-
after { driver.manage.delete_all_cookies }
28+
after do
29+
if GlobalTestEnv.rbe? && GlobalTestEnv.browser == :chrome
30+
reset_driver!
31+
else
32+
driver.manage.delete_all_cookies
33+
end
34+
end
2935

3036
it 'sets correct defaults' do
3137
driver.manage.add_cookie name: 'default',

rb/spec/integration/selenium/webdriver/select_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ module Support
2929
let(:multi_disabled) { described_class.new(driver.find_element(name: 'multi_disabled')) }
3030

3131
before { driver.navigate.to url_for('formPage.html') }
32+
after { reset_driver! if GlobalTestEnv.rbe? && GlobalTestEnv.browser == :chrome }
3233

3334
describe '#initialize' do
3435
it 'raises exception if not a select element' do

rb/spec/integration/selenium/webdriver/target_locator_spec.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ module WebDriver
2525
before { @original_window = driver.window_handle }
2626

2727
after do
28-
handles = driver.window_handles
29-
driver.switch_to.window(@original_window) if handles.include?(@original_window)
30-
31-
(handles - [driver.window_handle]).each do |handle|
32-
driver.switch_to.window(handle) { driver.close }
28+
if GlobalTestEnv.rbe? && GlobalTestEnv.browser == :chrome
29+
reset_driver!
30+
else
31+
handles = driver.window_handles
32+
driver.switch_to.window(@original_window) if handles.include?(@original_window)
33+
34+
(handles - [driver.window_handle]).each do |handle|
35+
driver.switch_to.window(handle) { driver.close }
36+
end
3337
end
3438
end
3539

@@ -325,8 +329,6 @@ module WebDriver
325329
end
326330

327331
describe 'unhandled alert error' do
328-
after { |example| reset_driver!(example: example) }
329-
330332
it 'raises an UnexpectedAlertOpenError if an alert has not been dealt with' do
331333
driver.navigate.to url_for('alerts.html')
332334
driver.find_element(id: 'alert').click

scripts/remote-image/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Our images must be for Linux x86_64
2-
FROM --platform=linux/amd64 ubuntu:focal@sha256:8e5c4f0285ecbb4ead070431d29b576a530d3166df73ec44affc1cd27555141b
2+
FROM --platform=linux/amd64 ubuntu:jammy@sha256:ed1544e454989078f5dec1bfdabd8c5cc9c48e0705d07b678ab6ae3fb61952d2
33

44
ENV DEBIAN_FRONTEND=noninteractive
55

@@ -11,7 +11,7 @@ RUN apt-get -qqy update && \
1111
libnet1 \
1212
libzip-dev \
1313
linux-libc-dev \
14-
python3.9 \
14+
python3.10 \
1515
python-is-python3 \
1616
zip \
1717
zlib1g && \

0 commit comments

Comments
 (0)