gridium 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7baeb74e367e7fd1d5fa2ad0609787d9d865eedb
4
- data.tar.gz: 0ba12f4e292fcd339d6b1e6b037d35f8ef13747b
3
+ metadata.gz: dd4a3e1a292bc80d00a52490e8e4008198585e30
4
+ data.tar.gz: 95d888aba995f9e8d5031aa6c5bae9f88cc22458
5
5
  SHA512:
6
- metadata.gz: d139ebfb9790b820c569fbfc2a716491a775d80f197f71357e94f1869c4b20949bf22ab1359c11a84465db31db15230fb68f26a91bd11176828c9533b996a57c
7
- data.tar.gz: 359b26c573ac62358659d18a4f61ab856bcce596eeafa04a3a6e296f1b0f1b019ce95ec9843bedad450a4961b29d1d99254f6cd5ff804b0da7cf132e111cab05
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
- @@driver = Selenium::WebDriver.for(Gridium.config.browser)
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
  # ================ #
@@ -1,3 +1,3 @@
1
1
  module Gridium
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
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
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-03 00:00:00.000000000 Z
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: '0'
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: '0'
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