selenium-webdriver 3.0.0.beta1 → 3.0.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +7 -0
- data/lib/selenium/webdriver/common/bridge_helper.rb +3 -2
- data/lib/selenium/webdriver/common/element.rb +1 -4
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/service.rb +1 -1
- data/lib/selenium/webdriver/remote/capabilities.rb +1 -1
- data/lib/selenium/webdriver/remote/w3c_bridge.rb +22 -19
- data/selenium-webdriver.gemspec +1 -1
- metadata +2 -2
data/CHANGES
CHANGED
@@ -31,8 +31,9 @@ module Selenium
|
|
31
31
|
when Array
|
32
32
|
arg.map { |e| unwrap_script_result(e) }
|
33
33
|
when Hash
|
34
|
-
|
35
|
-
|
34
|
+
element_id = element_id_from(arg)
|
35
|
+
element_id = arg if self.is_a?(Remote::W3CBridge) && element_id
|
36
|
+
return Element.new(self, element_id) if element_id
|
36
37
|
arg.each { |k, v| arg[k] = unwrap_script_result(v) }
|
37
38
|
else
|
38
39
|
arg
|
Binary file
|
@@ -30,7 +30,7 @@ module Selenium
|
|
30
30
|
private
|
31
31
|
|
32
32
|
def start_process
|
33
|
-
server_command = [@executable_path, "--binary=#{Firefox::Binary.path}", "--
|
33
|
+
server_command = [@executable_path, "--binary=#{Firefox::Binary.path}", "--port=#{@port}", *@extra_args]
|
34
34
|
@process = ChildProcess.build(*server_command)
|
35
35
|
|
36
36
|
if $DEBUG
|
@@ -143,7 +143,7 @@ module Selenium
|
|
143
143
|
caps.takes_screenshot = data.delete('takesScreenshot')
|
144
144
|
caps.native_events = data.delete('nativeEvents')
|
145
145
|
caps.rotatable = data.delete('rotatable')
|
146
|
-
caps.proxy = Proxy.json_create(data['proxy']) if data.key?('proxy')
|
146
|
+
caps.proxy = Proxy.json_create(data['proxy']) if data.key?('proxy') && !data['proxy'].empty?
|
147
147
|
|
148
148
|
# any remaining pairs will be added as is, with no conversion
|
149
149
|
caps.merge!(data)
|
@@ -124,6 +124,9 @@ module Selenium
|
|
124
124
|
end
|
125
125
|
|
126
126
|
def create_session(desired_capabilities)
|
127
|
+
# TODO - Remove this when Mozilla fixes bug
|
128
|
+
desired_capabilities[:browser_name] = 'firefox' if desired_capabilities[:browser_name] == 'Firefox'
|
129
|
+
|
127
130
|
resp = raw_execute :newSession, {}, {desiredCapabilities: desired_capabilities}
|
128
131
|
@session_id = resp['sessionId']
|
129
132
|
return W3CCapabilities.json_create resp['value'] if @session_id
|
@@ -396,7 +399,7 @@ module Selenium
|
|
396
399
|
#
|
397
400
|
|
398
401
|
def click_element(element)
|
399
|
-
execute :elementClick, id: element
|
402
|
+
execute :elementClick, id: element.values.first
|
400
403
|
end
|
401
404
|
|
402
405
|
def click
|
@@ -436,21 +439,22 @@ module Selenium
|
|
436
439
|
|
437
440
|
# TODO: - Implement file verification
|
438
441
|
def send_keys_to_element(element, keys)
|
439
|
-
execute :elementSendKeys, {id: element}, {value: keys.join('').split(//)}
|
442
|
+
execute :elementSendKeys, {id: element.values.first}, {value: keys.join('').split(//)}
|
440
443
|
end
|
441
444
|
|
442
445
|
def clear_element(element)
|
443
|
-
execute :elementClear, id: element
|
446
|
+
execute :elementClear, id: element.values.first
|
444
447
|
end
|
445
448
|
|
446
449
|
def submit_element(element)
|
450
|
+
form = find_element_by('xpath', "./ancestor-or-self::form", element)
|
447
451
|
execute_script("var e = arguments[0].ownerDocument.createEvent('Event');" \
|
448
452
|
"e.initEvent('submit', true, true);" \
|
449
|
-
'if (arguments[0].dispatchEvent(e)) { arguments[0].submit() }',
|
453
|
+
'if (arguments[0].dispatchEvent(e)) { arguments[0].submit() }', form.as_json)
|
450
454
|
end
|
451
455
|
|
452
456
|
def drag_element(element, right_by, down_by)
|
453
|
-
execute :dragElement, {id: element}, {x: right_by, y: down_by}
|
457
|
+
execute :dragElement, {id: element.values.first}, {x: right_by, y: down_by}
|
454
458
|
end
|
455
459
|
|
456
460
|
def touch_single_tap(element)
|
@@ -511,23 +515,23 @@ module Selenium
|
|
511
515
|
#
|
512
516
|
|
513
517
|
def element_tag_name(element)
|
514
|
-
execute :getElementTagName, id: element
|
518
|
+
execute :getElementTagName, id: element.values.first
|
515
519
|
end
|
516
520
|
|
517
521
|
def element_attribute(element, name)
|
518
|
-
execute :getElementAttribute, id: element, name: name
|
522
|
+
execute :getElementAttribute, id: element.values.first, name: name
|
519
523
|
end
|
520
524
|
|
521
525
|
def element_value(element)
|
522
|
-
execute :getElementProperty, id: element, name: 'value'
|
526
|
+
execute :getElementProperty, id: element.values.first, name: 'value'
|
523
527
|
end
|
524
528
|
|
525
529
|
def element_text(element)
|
526
|
-
execute :getElementText, id: element
|
530
|
+
execute :getElementText, id: element.values.first
|
527
531
|
end
|
528
532
|
|
529
533
|
def element_location(element)
|
530
|
-
data = execute :getElementRect, id: element
|
534
|
+
data = execute :getElementRect, id: element.values.first
|
531
535
|
|
532
536
|
Point.new data['x'], data['y']
|
533
537
|
end
|
@@ -538,27 +542,27 @@ module Selenium
|
|
538
542
|
end
|
539
543
|
|
540
544
|
def element_size(element)
|
541
|
-
data = execute :getElementRect, id: element
|
545
|
+
data = execute :getElementRect, id: element.values.first
|
542
546
|
|
543
547
|
Dimension.new data['width'], data['height']
|
544
548
|
end
|
545
549
|
|
546
550
|
def element_enabled?(element)
|
547
|
-
execute :isElementEnabled, id: element
|
551
|
+
execute :isElementEnabled, id: element.values.first
|
548
552
|
end
|
549
553
|
|
550
554
|
def element_selected?(element)
|
551
|
-
execute :isElementSelected, id: element
|
555
|
+
execute :isElementSelected, id: element.values.first
|
552
556
|
end
|
553
557
|
|
554
558
|
def element_displayed?(element)
|
555
559
|
jwp = Selenium::WebDriver::Remote::Bridge::COMMANDS[:isElementDisplayed]
|
556
560
|
self.class.command(:isElementDisplayed, jwp.first, jwp.last)
|
557
|
-
execute :isElementDisplayed, id: element
|
561
|
+
execute :isElementDisplayed, id: element.values.first
|
558
562
|
end
|
559
563
|
|
560
564
|
def element_value_of_css_property(element, prop)
|
561
|
-
execute :getElementCssValue, id: element, property_name: prop
|
565
|
+
execute :getElementCssValue, id: element.values.first, property_name: prop
|
562
566
|
end
|
563
567
|
|
564
568
|
#
|
@@ -575,19 +579,18 @@ module Selenium
|
|
575
579
|
how, what = convert_locators(how, what)
|
576
580
|
|
577
581
|
id = if parent
|
578
|
-
execute :findChildElement, {id: parent}, {using: how, value: what}
|
582
|
+
execute :findChildElement, {id: parent.values.first}, {using: how, value: what}
|
579
583
|
else
|
580
584
|
execute :findElement, {}, {using: how, value: what}
|
581
585
|
end
|
582
|
-
|
583
|
-
Element.new self, element_id_from(id)
|
586
|
+
Element.new self, id
|
584
587
|
end
|
585
588
|
|
586
589
|
def find_elements_by(how, what, parent = nil)
|
587
590
|
how, what = convert_locators(how, what)
|
588
591
|
|
589
592
|
ids = if parent
|
590
|
-
execute :findChildElements, {id: parent}, {using: how, value: what}
|
593
|
+
execute :findChildElements, {id: parent.values.first}, {using: how, value: what}
|
591
594
|
else
|
592
595
|
execute :findElements, {}, {using: how, value: what}
|
593
596
|
end
|
data/selenium-webdriver.gemspec
CHANGED
@@ -5,7 +5,7 @@ raise "cwd must be #{root} when reading gemspec" if root != Dir.pwd
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'selenium-webdriver'
|
8
|
-
s.version = '3.0.0.
|
8
|
+
s.version = '3.0.0.beta2'
|
9
9
|
|
10
10
|
s.authors = ['Alex Rodionov', 'Titus Fortner']
|
11
11
|
s.email = ['p0deje@gmail.com', 'titusfortner@gmail.com']
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 3.0.0.
|
5
|
+
version: 3.0.0.beta2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Alex Rodionov
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-08-02 00:00:00 -05:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|