onlyoffice_webdriver_wrapper 0.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.
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: []