gridium 0.1.4 → 0.1.5
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.
- checksums.yaml +4 -4
- data/gridium.gemspec +3 -3
- data/lib/driver.rb +6 -1
- data/lib/element.rb +13 -8
- data/lib/gridium/version.rb +1 -1
- data/lib/gridium.rb +2 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd4a3e1a292bc80d00a52490e8e4008198585e30
|
4
|
+
data.tar.gz: 95d888aba995f9e8d5031aa6c5bae9f88cc22458
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8abb9f708af355f2a203ecb01756b4c26a832a7b9279f6aa8f1c3b495615e51d44eb3a077026273950be973f25c9bf0cc69f209ddb65645cbc378b7d38db84cc
|
7
|
+
data.tar.gz: 9f4b2d97ad2ceb9b8806648544f7213c35371e6f8abd94f168d6a9f84a9bf8c49c99a0453664361401c015b50b83cf8c62e3f7a03acbc04b9e6d02cf4eaac195
|
data/gridium.gemspec
CHANGED
@@ -29,9 +29,9 @@ Gem::Specification.new do |spec|
|
|
29
29
|
|
30
30
|
spec.add_development_dependency "bundler", "~> 1.10"
|
31
31
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
|
-
spec.add_development_dependency "rspec"
|
32
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
33
33
|
|
34
|
-
spec.add_runtime_dependency "selenium-webdriver", ">=2.45.0"
|
35
|
-
spec.add_runtime_dependency "oily_png"
|
34
|
+
spec.add_runtime_dependency "selenium-webdriver", ">= 2.45.0"
|
35
|
+
spec.add_runtime_dependency "oily_png", ">= 1.1.2"
|
36
36
|
|
37
37
|
end
|
data/lib/driver.rb
CHANGED
@@ -26,7 +26,12 @@ class Driver
|
|
26
26
|
begin
|
27
27
|
unless @@driver
|
28
28
|
@browser_type = Gridium.config.browser
|
29
|
-
|
29
|
+
##Adding support for remote browsers
|
30
|
+
if Gridium.config.browser_source == :remote
|
31
|
+
@@driver = Selenium::WebDriver.for(:remote, url: Gridium.config.target_environment, desired_capabilities: Gridium.config.browser)
|
32
|
+
else
|
33
|
+
@@driver = Selenium::WebDriver.for(Gridium.config.browser)
|
34
|
+
end
|
30
35
|
reset
|
31
36
|
end
|
32
37
|
@@driver
|
data/lib/element.rb
CHANGED
@@ -24,14 +24,7 @@ class Element
|
|
24
24
|
if @element.nil? or is_stale?
|
25
25
|
wait = Selenium::WebDriver::Wait.new :timeout => Gridium.config.element_timeout, :interval => 1
|
26
26
|
if Gridium.config.visible_elements_only
|
27
|
-
wait.until {
|
28
|
-
elements = @driver.find_elements(@by, @locator)
|
29
|
-
elements.each do |element|
|
30
|
-
if element.displayed?
|
31
|
-
@element = element;
|
32
|
-
end
|
33
|
-
end
|
34
|
-
}
|
27
|
+
wait.until { @element = displayed_element }
|
35
28
|
else
|
36
29
|
wait.until { @element = @driver.find_element(@by, @locator); Log.debug("Finding element #{self}..."); @element.enabled? }
|
37
30
|
end
|
@@ -44,6 +37,18 @@ class Element
|
|
44
37
|
@element = e
|
45
38
|
end
|
46
39
|
|
40
|
+
def displayed_element
|
41
|
+
found_element = nil
|
42
|
+
elements = @driver.find_elements(@by, @locator)
|
43
|
+
##there's a chance here the element is found but not displayed.
|
44
|
+
elements.each do |element|
|
45
|
+
if element.displayed? and element.enabled?
|
46
|
+
found_element = element;
|
47
|
+
end
|
48
|
+
end
|
49
|
+
return found_element
|
50
|
+
end
|
51
|
+
|
47
52
|
# ================ #
|
48
53
|
# Element Commands #
|
49
54
|
# ================ #
|
data/lib/gridium/version.rb
CHANGED
data/lib/gridium.rb
CHANGED
@@ -19,11 +19,12 @@ module Gridium
|
|
19
19
|
end
|
20
20
|
|
21
21
|
class Config
|
22
|
-
attr_accessor :report_dir, :target_environment, :browser, :url, :page_load_timeout, :element_timeout, :visible_elements_only, :log_level
|
22
|
+
attr_accessor :report_dir, :browser_source, :target_environment, :browser, :url, :page_load_timeout, :element_timeout, :visible_elements_only, :log_level
|
23
23
|
attr_accessor :highlight_verifications, :highlight_duration, :screenshot_on_failure
|
24
24
|
|
25
25
|
def initialize
|
26
26
|
@report_dir = Dir.home
|
27
|
+
@browser_source = :local #if browser source is set to remote, target environment needs to be set properly
|
27
28
|
@target_environment = "localhost"
|
28
29
|
@browser = :firefox
|
29
30
|
@url = "about:blank"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gridium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Urban
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '3.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: selenium-webdriver
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.1.2
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.1.2
|
83
83
|
description: Gridium makes integrating ruby and Selenium a breeze. This is not for
|
84
84
|
novice automation engineers. Novices should checkout Capybara. However, if you're
|
85
85
|
comfortable with Selenium, and have used Capybara but find it not working well give
|