smart_driver 1.0.0 → 1.0.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e073d66d4fa0efa5bc1c717a2279859e3a3c62c1
4
- data.tar.gz: 392215ac3bf4fe649ada1044102dec286bb1376a
3
+ metadata.gz: d8160985cfdd5f728718306a1c64898d87f596b8
4
+ data.tar.gz: 3c0edb4b022f975a0d838641c04d803a3d47b4a8
5
5
  SHA512:
6
- metadata.gz: 8dd1103f8d0f2e945243dd843ad3e0cc407be15c6ab0594d243eaa7f3d1e10d2e9da820674f566ed5e5f65170c7a189276124b9f62374aaa6eaa696e0e00cc3c
7
- data.tar.gz: 4c22b5bf8ff9aa7123ec0153b9538e91dd7df8ce9793637aeaf1737ab668b9f7a43fc51bfc2d113673d8a03fb2793cef6bb154d382f51158bada8bafb18de3a7
6
+ metadata.gz: c04f2a7ac82a109c2f0a695432fd2519640ce27d6bf3bfb2663c413f61e5b147faf744e5ccf2f17ef3a584817cedd96cfe58d72d873cae1a10e47bc6fd991000
7
+ data.tar.gz: 5ca35deb3420f9964cfb9cfed2b842445d385a7875c861f2dd643f9f1d615d4d1a0b1c708ff0800209d442b83beda79c11d1a4dd8d4ffd53143b4960e2099905
@@ -1,3 +1,3 @@
1
1
  class SmartDriver
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
data/lib/smart_driver.rb CHANGED
@@ -31,6 +31,20 @@ class SmartDriver
31
31
  logging :fail, "#{selector} cannot be found"
32
32
  end
33
33
 
34
+ def find_by_text(text)
35
+ logging :info, "find by text #{text}..."
36
+ @__driver__.find_element({xpath: "//*[text()[contains(.,\"#{text}\")]]"})
37
+ rescue Selenium::WebDriver::Error::NoSuchElementError
38
+ logging :fail, "element with #{text} cannot be found"
39
+ end
40
+
41
+ def finds_by_text(text)
42
+ logging :info, "finds by text #{text}..."
43
+ @__driver__.find_elements({xpath: "//*[text()[contains(.,\"#{text}\")]]"})
44
+ rescue Selenium::WebDriver::Error::NoSuchElementError
45
+ logging :fail, "elements with #{text} cannot be found"
46
+ end
47
+
34
48
  # http://stackoverflow.com/questions/11908249/debugging-element-is-not-clickable-at-point-error
35
49
  def scroll(selector)
36
50
  logging :info, "scroll to #{selector}..."
@@ -41,14 +55,10 @@ class SmartDriver
41
55
 
42
56
  def has?(selector)
43
57
  !!find(selector)
44
- rescue Selenium::WebDriver::Error::NoSuchElementError
45
- false
46
58
  end
47
59
 
48
60
  def has_text?(text)
49
- !!@__driver__.find_element({xpath: "//*[text()[contains(.,\"#{text}\")]]"})
50
- rescue Selenium::WebDriver::Error::NoSuchElementError
51
- false
61
+ !!find_by_text(text)
52
62
  end
53
63
 
54
64
  def click(selector)
@@ -73,6 +83,10 @@ class SmartDriver
73
83
  @__driver__.respond_to?(method) ? @__driver__.send(method, *args, &block) : super
74
84
  end
75
85
 
86
+ def switch_window(num)
87
+ @__driver__.switch_to.window @__driver__.window_handles[num]
88
+ end
89
+
76
90
  private
77
91
  def logging(sym, text)
78
92
  label = case sym
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gogotanaka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-02 00:00:00.000000000 Z
11
+ date: 2016-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver