onlyoffice_webdriver_wrapper 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +7 -0
  2. data/lib/onlyoffice_webdriver_wrapper.rb +5 -0
  3. data/lib/onlyoffice_webdriver_wrapper/dimensions.rb +16 -0
  4. data/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver +0 -0
  5. data/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac +0 -0
  6. data/lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver +0 -0
  7. data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb +62 -0
  8. data/lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb +26 -0
  9. data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb +65 -0
  10. data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/real_display_tools.rb +22 -0
  11. data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/ruby_helper.rb +14 -0
  12. data/lib/onlyoffice_webdriver_wrapper/helpers/os_helper.rb +9 -0
  13. data/lib/onlyoffice_webdriver_wrapper/version.rb +5 -0
  14. data/lib/onlyoffice_webdriver_wrapper/webdriver.rb +713 -0
  15. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb +25 -0
  16. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_attributes_helper.rb +53 -0
  17. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_info_helper.rb +20 -0
  18. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_log_helper.rb +9 -0
  19. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_exceptions.rb +3 -0
  20. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_extension.rb +2 -0
  21. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_helper.rb +22 -0
  22. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb +56 -0
  23. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_screenshot_helper.rb +60 -0
  24. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_style_helper.rb +41 -0
  25. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_tab_helper.rb +74 -0
  26. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_type_helper.rb +104 -0
  27. data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_user_agent_helper.rb +40 -0
  28. metadata +171 -0
@@ -0,0 +1,40 @@
1
+ module OnlyofficeWebdriverWrapper
2
+ # Module for wokring with webdriver useragent
3
+ module WebdriverUserAgentHelper
4
+ USERAGENT_ANDROID_PHONE = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MDB08M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36'.freeze
5
+ USERAGENT_IPHONE = 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1'.freeze
6
+ USERAGENT_IPAD_AIR_2_SAFARI = 'Mozilla/5.0 (iPad; CPU OS 10_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A5346a Safari/602.1'.freeze
7
+ USERAGENT_NEXUS_10_CHROME = 'Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Safari/537.36'.freeze
8
+
9
+ # @return [String] user agent string for current device
10
+ def user_agent_for_device
11
+ case @device
12
+ when :desktop_linux
13
+ nil
14
+ when :android_phone
15
+ USERAGENT_ANDROID_PHONE
16
+ when :iphone
17
+ USERAGENT_IPHONE
18
+ when :ipad_air_2_safari
19
+ USERAGENT_IPAD_AIR_2_SAFARI
20
+ when :nexus_10_chrome
21
+ USERAGENT_NEXUS_10_CHROME
22
+ else
23
+ webdriver_error("Unknown user device for starting browser: #{@device}")
24
+ end
25
+ end
26
+
27
+ # @param switches [Array, String] current switches of browser
28
+ # @return [String] user agent switch for browser
29
+ def add_useragent_to_switches(switches)
30
+ user_agent = user_agent_for_device
31
+ return switches.dup if user_agent.nil?
32
+ switches.dup << "--user-agent=#{user_agent}"
33
+ end
34
+
35
+ # @return [String] current user agent
36
+ def current_user_agent
37
+ execute_javascript('return navigator.userAgent;')
38
+ end
39
+ end
40
+ end
metadata ADDED
@@ -0,0 +1,171 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: onlyoffice_webdriver_wrapper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Pavel Lobashov
8
+ - Oleg Nazarov
9
+ - Dmitry Rotaty
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2018-09-28 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: headless
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '2'
29
+ - !ruby/object:Gem::Dependency
30
+ name: onlyoffice_file_helper
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '0.1'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.1'
43
+ - !ruby/object:Gem::Dependency
44
+ name: onlyoffice_logger_helper
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1'
57
+ - !ruby/object:Gem::Dependency
58
+ name: onlyoffice_s3_wrapper
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '0.1'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '0.1'
71
+ - !ruby/object:Gem::Dependency
72
+ name: page-object
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 2.0.0
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 2.0.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: selenium-webdriver
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '='
90
+ - !ruby/object:Gem::Version
91
+ version: 3.14.0
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '='
97
+ - !ruby/object:Gem::Version
98
+ version: 3.14.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: watir
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 6.7.0
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 6.7.0
113
+ description: onlyoffice_webdriver_wrapper
114
+ email:
115
+ - shockwavenn@gmail.com
116
+ - dafttrick@gmail.com
117
+ executables: []
118
+ extensions: []
119
+ extra_rdoc_files: []
120
+ files:
121
+ - lib/onlyoffice_webdriver_wrapper.rb
122
+ - lib/onlyoffice_webdriver_wrapper/dimensions.rb
123
+ - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver
124
+ - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac
125
+ - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
126
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
127
+ - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
128
+ - lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb
129
+ - lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/real_display_tools.rb
130
+ - lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/ruby_helper.rb
131
+ - lib/onlyoffice_webdriver_wrapper/helpers/os_helper.rb
132
+ - lib/onlyoffice_webdriver_wrapper/version.rb
133
+ - lib/onlyoffice_webdriver_wrapper/webdriver.rb
134
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb
135
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_attributes_helper.rb
136
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_info_helper.rb
137
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_log_helper.rb
138
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_exceptions.rb
139
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_extension.rb
140
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_helper.rb
141
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb
142
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_screenshot_helper.rb
143
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_style_helper.rb
144
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_tab_helper.rb
145
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_type_helper.rb
146
+ - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_user_agent_helper.rb
147
+ homepage: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper
148
+ licenses:
149
+ - AGPL-3.0
150
+ metadata: {}
151
+ post_install_message:
152
+ rdoc_options: []
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '2.1'
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ requirements: []
166
+ rubyforge_project:
167
+ rubygems_version: 2.7.6
168
+ signing_key:
169
+ specification_version: 4
170
+ summary: ONLYOFFICE Webdriver Wrapper Gem
171
+ test_files: []