quke 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.config.example.yml +8 -0
- data/.gitignore +1 -1
- data/CHANGELOG.md +78 -64
- data/lib/features/support/before_hook.rb +24 -0
- data/lib/quke/configuration.rb +12 -0
- data/lib/quke/driver_configuration.rb +17 -9
- data/lib/quke/driver_registration.rb +2 -0
- data/lib/quke/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bb1e5484a903fbc8b00b9d67b3eabc25a2abf6e
|
4
|
+
data.tar.gz: 6d19bda0cc6cd6837a10518e62afb43378f7d6f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a00d9f8f551ff3457facfd76de6c95e0c99e114ecd54ea5ff5d405d1b52b7022709ca522a65de7a9a8653277058af329d231039465377ed80f8f26090465674
|
7
|
+
data.tar.gz: 428e1141fa40375500a329a665afc474fb43ad261060b53f02b6a039d23e3401b88a27e0e6f75988fb6ec65165b136aa3d206092a7b9f2e9751babaaf6be785f
|
data/.config.example.yml
CHANGED
@@ -31,6 +31,14 @@ stop_on_error: 1
|
|
31
31
|
# elements that take some time to load you can increase this default.
|
32
32
|
max_wait_time: 5
|
33
33
|
|
34
|
+
# Tell the driver Quke is using to send a different user-agent value to the site
|
35
|
+
# under test. Useful if you want the underlying driver to spoof what kind of
|
36
|
+
# browser the request is coming from. For example you may want to pretend to be
|
37
|
+
# a mobile browser so you can check what you get back versus the desktop
|
38
|
+
# version. Or you want to pretend to be another kind of browser, because the one
|
39
|
+
# you have is not supported by the site.
|
40
|
+
user_agent: "Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0)"
|
41
|
+
|
34
42
|
# Anything you place under the 'custom' node in the `.config.yml` file will be
|
35
43
|
# available within your steps and page objects by calling
|
36
44
|
# `Quke::Quke.config.custom`. So using the example below we could access its
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,117 +1,131 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v0.3.0](https://github.com/DEFRA/quke/tree/v0.3.0) (2017-03-07)
|
4
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.8...v0.3.0)
|
4
5
|
|
5
|
-
|
6
|
+
**Merged pull requests:**
|
7
|
+
|
8
|
+
- Add ability to pass in custom values via config [\#55](https://github.com/DEFRA/quke/pull/55) ([Cruikshanks](https://github.com/Cruikshanks))
|
9
|
+
- Fix missing documentation for max\_wait\_time [\#54](https://github.com/DEFRA/quke/pull/54) ([Cruikshanks](https://github.com/Cruikshanks))
|
10
|
+
- Expose Capybara default\_max\_wait\_time config value [\#53](https://github.com/DEFRA/quke/pull/53) ([Cruikshanks](https://github.com/Cruikshanks))
|
11
|
+
|
12
|
+
## [v0.2.8](https://github.com/DEFRA/quke/tree/v0.2.8) (2017-01-20)
|
13
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.7...v0.2.8)
|
14
|
+
|
15
|
+
**Closed issues:**
|
16
|
+
|
17
|
+
- Handling tests using javascript during headless testing [\#27](https://github.com/DEFRA/quke/issues/27)
|
6
18
|
|
7
19
|
**Merged pull requests:**
|
8
20
|
|
9
|
-
-
|
21
|
+
- Update EA references after org name change [\#52](https://github.com/DEFRA/quke/pull/52) ([Cruikshanks](https://github.com/Cruikshanks))
|
22
|
+
- \[ci skip\] Updating CHANGELOG.md [\#51](https://github.com/DEFRA/quke/pull/51) ([Cruikshanks](https://github.com/Cruikshanks))
|
23
|
+
- Add support 4 setting 'no proxy' arg. in drivers [\#49](https://github.com/DEFRA/quke/pull/49) ([Cruikshanks](https://github.com/Cruikshanks))
|
10
24
|
|
11
|
-
## [v0.2.7](https://github.com/
|
12
|
-
[Full Changelog](https://github.com/
|
25
|
+
## [v0.2.7](https://github.com/DEFRA/quke/tree/v0.2.7) (2016-12-13)
|
26
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.6...v0.2.7)
|
13
27
|
|
14
|
-
## [v0.2.6](https://github.com/
|
15
|
-
[Full Changelog](https://github.com/
|
28
|
+
## [v0.2.6](https://github.com/DEFRA/quke/tree/v0.2.6) (2016-11-29)
|
29
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.5...v0.2.6)
|
16
30
|
|
17
31
|
**Closed issues:**
|
18
32
|
|
19
|
-
- Ability to specify a proxy for each driver [\#46](https://github.com/
|
20
|
-
- focus label left against rspec tests stops all tests running [\#43](https://github.com/
|
33
|
+
- Ability to specify a proxy for each driver [\#46](https://github.com/DEFRA/quke/issues/46)
|
34
|
+
- focus label left against rspec tests stops all tests running [\#43](https://github.com/DEFRA/quke/issues/43)
|
21
35
|
|
22
36
|
**Merged pull requests:**
|
23
37
|
|
24
|
-
- Update version for merge of proxy server support [\#48](https://github.com/
|
25
|
-
- Add support for proxy servers [\#47](https://github.com/
|
26
|
-
- \[ci skip\] Updating CHANGELOG.md [\#45](https://github.com/
|
38
|
+
- Update version for merge of proxy server support [\#48](https://github.com/DEFRA/quke/pull/48) ([Cruikshanks](https://github.com/Cruikshanks))
|
39
|
+
- Add support for proxy servers [\#47](https://github.com/DEFRA/quke/pull/47) ([Cruikshanks](https://github.com/Cruikshanks))
|
40
|
+
- \[ci skip\] Updating CHANGELOG.md [\#45](https://github.com/DEFRA/quke/pull/45) ([Cruikshanks](https://github.com/Cruikshanks))
|
27
41
|
|
28
|
-
## [v0.2.5](https://github.com/
|
29
|
-
[Full Changelog](https://github.com/
|
42
|
+
## [v0.2.5](https://github.com/DEFRA/quke/tree/v0.2.5) (2016-11-28)
|
43
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.4...v0.2.5)
|
30
44
|
|
31
45
|
**Closed issues:**
|
32
46
|
|
33
|
-
- Don't use driver as an assumption of running on CI [\#41](https://github.com/
|
47
|
+
- Don't use driver as an assumption of running on CI [\#41](https://github.com/DEFRA/quke/issues/41)
|
34
48
|
|
35
49
|
**Merged pull requests:**
|
36
50
|
|
37
|
-
- Fix rspec focus label left in tests [\#44](https://github.com/
|
51
|
+
- Fix rspec focus label left in tests [\#44](https://github.com/DEFRA/quke/pull/44) ([Cruikshanks](https://github.com/Cruikshanks))
|
38
52
|
|
39
|
-
## [v0.2.4](https://github.com/
|
40
|
-
[Full Changelog](https://github.com/
|
53
|
+
## [v0.2.4](https://github.com/DEFRA/quke/tree/v0.2.4) (2016-11-28)
|
54
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.3...v0.2.4)
|
41
55
|
|
42
56
|
**Closed issues:**
|
43
57
|
|
44
|
-
- Launchy showing blank pages on error [\#39](https://github.com/
|
58
|
+
- Launchy showing blank pages on error [\#39](https://github.com/DEFRA/quke/issues/39)
|
45
59
|
|
46
60
|
**Merged pull requests:**
|
47
61
|
|
48
|
-
- Change after\_hook error to use config not assume [\#42](https://github.com/
|
62
|
+
- Change after\_hook error to use config not assume [\#42](https://github.com/DEFRA/quke/pull/42) ([Cruikshanks](https://github.com/Cruikshanks))
|
49
63
|
|
50
|
-
## [v0.2.3](https://github.com/
|
51
|
-
[Full Changelog](https://github.com/
|
64
|
+
## [v0.2.3](https://github.com/DEFRA/quke/tree/v0.2.3) (2016-10-05)
|
65
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.2...v0.2.3)
|
52
66
|
|
53
67
|
**Merged pull requests:**
|
54
68
|
|
55
|
-
- Fix Quke not loading .config.yml correctly [\#37](https://github.com/
|
56
|
-
- Update CHANGELOG.md [\#36](https://github.com/
|
69
|
+
- Fix Quke not loading .config.yml correctly [\#37](https://github.com/DEFRA/quke/pull/37) ([Cruikshanks](https://github.com/Cruikshanks))
|
70
|
+
- Update CHANGELOG.md [\#36](https://github.com/DEFRA/quke/pull/36) ([Cruikshanks](https://github.com/Cruikshanks))
|
57
71
|
|
58
|
-
## [v0.2.2](https://github.com/
|
59
|
-
[Full Changelog](https://github.com/
|
72
|
+
## [v0.2.2](https://github.com/DEFRA/quke/tree/v0.2.2) (2016-10-05)
|
73
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.1...v0.2.2)
|
60
74
|
|
61
75
|
**Merged pull requests:**
|
62
76
|
|
63
|
-
- Fix Cucumber not loading lib/features correctly [\#35](https://github.com/
|
64
|
-
- Add Github\_changelog\_generator support [\#34](https://github.com/
|
65
|
-
- Add Rubygems version badge to README [\#33](https://github.com/
|
77
|
+
- Fix Cucumber not loading lib/features correctly [\#35](https://github.com/DEFRA/quke/pull/35) ([Cruikshanks](https://github.com/Cruikshanks))
|
78
|
+
- Add Github\_changelog\_generator support [\#34](https://github.com/DEFRA/quke/pull/34) ([Cruikshanks](https://github.com/Cruikshanks))
|
79
|
+
- Add Rubygems version badge to README [\#33](https://github.com/DEFRA/quke/pull/33) ([Cruikshanks](https://github.com/Cruikshanks))
|
66
80
|
|
67
|
-
## [v0.2.1](https://github.com/
|
68
|
-
[Full Changelog](https://github.com/
|
81
|
+
## [v0.2.1](https://github.com/DEFRA/quke/tree/v0.2.1) (2016-10-05)
|
82
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.2.0...v0.2.1)
|
69
83
|
|
70
84
|
**Merged pull requests:**
|
71
85
|
|
72
|
-
- Remove bundler-audit from codeclimate config [\#32](https://github.com/
|
86
|
+
- Remove bundler-audit from codeclimate config [\#32](https://github.com/DEFRA/quke/pull/32) ([Cruikshanks](https://github.com/Cruikshanks))
|
73
87
|
|
74
|
-
## [v0.2.0](https://github.com/
|
75
|
-
[Full Changelog](https://github.com/
|
88
|
+
## [v0.2.0](https://github.com/DEFRA/quke/tree/v0.2.0) (2016-10-04)
|
89
|
+
[Full Changelog](https://github.com/DEFRA/quke/compare/v0.1.0...v0.2.0)
|
76
90
|
|
77
91
|
**Merged pull requests:**
|
78
92
|
|
79
|
-
- Convert to gem [\#31](https://github.com/
|
93
|
+
- Convert to gem [\#31](https://github.com/DEFRA/quke/pull/31) ([Cruikshanks](https://github.com/Cruikshanks))
|
80
94
|
|
81
|
-
## [v0.1.0](https://github.com/
|
95
|
+
## [v0.1.0](https://github.com/DEFRA/quke/tree/v0.1.0) (2016-08-01)
|
82
96
|
**Closed issues:**
|
83
97
|
|
84
|
-
- save\_and\_open\_page\(\) outputs to project root [\#12](https://github.com/
|
85
|
-
- Use Capybara's implicit wait system [\#9](https://github.com/
|
86
|
-
- Running tests against different environments [\#8](https://github.com/
|
98
|
+
- save\_and\_open\_page\(\) outputs to project root [\#12](https://github.com/DEFRA/quke/issues/12)
|
99
|
+
- Use Capybara's implicit wait system [\#9](https://github.com/DEFRA/quke/issues/9)
|
100
|
+
- Running tests against different environments [\#8](https://github.com/DEFRA/quke/issues/8)
|
87
101
|
|
88
102
|
**Merged pull requests:**
|
89
103
|
|
90
|
-
- Add browserstack support [\#30](https://github.com/
|
91
|
-
- Add dependencyci badge to README.md [\#29](https://github.com/
|
92
|
-
- Clear up references to poltergeist and phantomjs [\#28](https://github.com/
|
93
|
-
- Add support for multiple config filespty message aborts the commit [\#26](https://github.com/
|
94
|
-
- Move poltergeist driver options to Quke::Config [\#25](https://github.com/
|
95
|
-
- Add support for a yaml \(.yml\) config file [\#24](https://github.com/
|
96
|
-
- Add missing @quke tag to css\_selectors feature [\#23](https://github.com/
|
97
|
-
- Add examples of CSS selectors to project [\#22](https://github.com/
|
98
|
-
- Add explanation to demo pages on what tests show [\#21](https://github.com/
|
99
|
-
- Replace title in README with new logo image [\#20](https://github.com/
|
100
|
-
- Integrate quke with codeclimate [\#19](https://github.com/
|
101
|
-
- Integrate with Travis-CI [\#18](https://github.com/
|
102
|
-
- Stop saving to root when save\_and\_open\_page used [\#17](https://github.com/
|
103
|
-
- Tidy up of the code [\#16](https://github.com/
|
104
|
-
- Add example of interacting with radio-buttons [\#15](https://github.com/
|
105
|
-
- Add embedded test website [\#14](https://github.com/
|
106
|
-
- Enable Capybara implicit waits in Quke [\#13](https://github.com/
|
107
|
-
- Make url endpoint to be tested configurable [\#11](https://github.com/
|
108
|
-
- Expand readme with better documentation [\#7](https://github.com/
|
109
|
-
- Add function to open page on fail [\#6](https://github.com/
|
110
|
-
- Save custom quke args to global env vars [\#5](https://github.com/
|
111
|
-
- Make use of hooks clearer in project [\#4](https://github.com/
|
112
|
-
- Fix use of BROWSER instead of DRIVER in rake [\#3](https://github.com/
|
113
|
-
- Structure project 2 avoid conflicts with upstream [\#2](https://github.com/
|
114
|
-
- Rename env var BROWSER to DRIVER to fix Launchy [\#1](https://github.com/
|
104
|
+
- Add browserstack support [\#30](https://github.com/DEFRA/quke/pull/30) ([Cruikshanks](https://github.com/Cruikshanks))
|
105
|
+
- Add dependencyci badge to README.md [\#29](https://github.com/DEFRA/quke/pull/29) ([Cruikshanks](https://github.com/Cruikshanks))
|
106
|
+
- Clear up references to poltergeist and phantomjs [\#28](https://github.com/DEFRA/quke/pull/28) ([Cruikshanks](https://github.com/Cruikshanks))
|
107
|
+
- Add support for multiple config filespty message aborts the commit [\#26](https://github.com/DEFRA/quke/pull/26) ([Cruikshanks](https://github.com/Cruikshanks))
|
108
|
+
- Move poltergeist driver options to Quke::Config [\#25](https://github.com/DEFRA/quke/pull/25) ([Cruikshanks](https://github.com/Cruikshanks))
|
109
|
+
- Add support for a yaml \(.yml\) config file [\#24](https://github.com/DEFRA/quke/pull/24) ([Cruikshanks](https://github.com/Cruikshanks))
|
110
|
+
- Add missing @quke tag to css\_selectors feature [\#23](https://github.com/DEFRA/quke/pull/23) ([Cruikshanks](https://github.com/Cruikshanks))
|
111
|
+
- Add examples of CSS selectors to project [\#22](https://github.com/DEFRA/quke/pull/22) ([Cruikshanks](https://github.com/Cruikshanks))
|
112
|
+
- Add explanation to demo pages on what tests show [\#21](https://github.com/DEFRA/quke/pull/21) ([Cruikshanks](https://github.com/Cruikshanks))
|
113
|
+
- Replace title in README with new logo image [\#20](https://github.com/DEFRA/quke/pull/20) ([Cruikshanks](https://github.com/Cruikshanks))
|
114
|
+
- Integrate quke with codeclimate [\#19](https://github.com/DEFRA/quke/pull/19) ([Cruikshanks](https://github.com/Cruikshanks))
|
115
|
+
- Integrate with Travis-CI [\#18](https://github.com/DEFRA/quke/pull/18) ([Cruikshanks](https://github.com/Cruikshanks))
|
116
|
+
- Stop saving to root when save\_and\_open\_page used [\#17](https://github.com/DEFRA/quke/pull/17) ([Cruikshanks](https://github.com/Cruikshanks))
|
117
|
+
- Tidy up of the code [\#16](https://github.com/DEFRA/quke/pull/16) ([Cruikshanks](https://github.com/Cruikshanks))
|
118
|
+
- Add example of interacting with radio-buttons [\#15](https://github.com/DEFRA/quke/pull/15) ([Cruikshanks](https://github.com/Cruikshanks))
|
119
|
+
- Add embedded test website [\#14](https://github.com/DEFRA/quke/pull/14) ([Cruikshanks](https://github.com/Cruikshanks))
|
120
|
+
- Enable Capybara implicit waits in Quke [\#13](https://github.com/DEFRA/quke/pull/13) ([Cruikshanks](https://github.com/Cruikshanks))
|
121
|
+
- Make url endpoint to be tested configurable [\#11](https://github.com/DEFRA/quke/pull/11) ([Cruikshanks](https://github.com/Cruikshanks))
|
122
|
+
- Expand readme with better documentation [\#7](https://github.com/DEFRA/quke/pull/7) ([Cruikshanks](https://github.com/Cruikshanks))
|
123
|
+
- Add function to open page on fail [\#6](https://github.com/DEFRA/quke/pull/6) ([Cruikshanks](https://github.com/Cruikshanks))
|
124
|
+
- Save custom quke args to global env vars [\#5](https://github.com/DEFRA/quke/pull/5) ([Cruikshanks](https://github.com/Cruikshanks))
|
125
|
+
- Make use of hooks clearer in project [\#4](https://github.com/DEFRA/quke/pull/4) ([Cruikshanks](https://github.com/Cruikshanks))
|
126
|
+
- Fix use of BROWSER instead of DRIVER in rake [\#3](https://github.com/DEFRA/quke/pull/3) ([Cruikshanks](https://github.com/Cruikshanks))
|
127
|
+
- Structure project 2 avoid conflicts with upstream [\#2](https://github.com/DEFRA/quke/pull/2) ([Cruikshanks](https://github.com/Cruikshanks))
|
128
|
+
- Rename env var BROWSER to DRIVER to fix Launchy [\#1](https://github.com/DEFRA/quke/pull/1) ([Cruikshanks](https://github.com/Cruikshanks))
|
115
129
|
|
116
130
|
|
117
131
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'quke/configuration'
|
2
|
+
|
3
|
+
Before('~@nonweb') do
|
4
|
+
# We have to make a special case for phantomjs when it comes to implementing
|
5
|
+
# the ability to override the user agent. Unlike the selinium backed drivers
|
6
|
+
# specifying the user agent is not part of the arguments we pass in when
|
7
|
+
# initialising the driver. Instead its something we call on the driver once
|
8
|
+
# its been instantiated
|
9
|
+
# https://github.com/teampoltergeist/poltergeist#manipulating-request-headers
|
10
|
+
# That might not have been so bad, the folks behind poltergeist have also
|
11
|
+
# made it so that custom changes to the header only last for as long as the
|
12
|
+
# test is running. Once a test finishes, the changes are lost.
|
13
|
+
# Hence the only way we can ensure its set across all tests is by making use
|
14
|
+
# of the Before hook, and adding the User-Agent header each time.
|
15
|
+
if Quke::Quke.config.driver == 'phantomjs'
|
16
|
+
unless Quke::Quke.config.user_agent.empty?
|
17
|
+
page.driver.add_header(
|
18
|
+
'User-Agent',
|
19
|
+
Quke::Quke.config.user_agent,
|
20
|
+
permanent: true
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/quke/configuration.rb
CHANGED
@@ -105,6 +105,17 @@ module Quke #:nodoc:
|
|
105
105
|
@data['max_wait_time']
|
106
106
|
end
|
107
107
|
|
108
|
+
# Return the value set for +user_agent+.
|
109
|
+
#
|
110
|
+
# Useful if you want the underlying driver to spoof what kind of browser the
|
111
|
+
# request is coming from. For example you may want to pretend to be a mobile
|
112
|
+
# browser so you can check what you get back versus the desktop version. Or
|
113
|
+
# you want to pretend to be another kind of browser, because the one you
|
114
|
+
# have is not supported by the site.
|
115
|
+
def user_agent
|
116
|
+
@data['user_agent']
|
117
|
+
end
|
118
|
+
|
108
119
|
# Return the hash of +browserstack+ options.
|
109
120
|
#
|
110
121
|
# If you select the browserstack driver, there are a number of options you
|
@@ -165,6 +176,7 @@ module Quke #:nodoc:
|
|
165
176
|
'pause' => (data['pause'] || '0').to_s.downcase.strip.to_i,
|
166
177
|
'stop_on_error' => (data['stop_on_error'] || 'false').to_s.downcase.strip,
|
167
178
|
'max_wait_time' => (data['max_wait_time'] || Capybara.default_max_wait_time).to_s.downcase.strip.to_i,
|
179
|
+
'user_agent' => (data['user_agent'] || '').strip,
|
168
180
|
'custom' => (data['custom'] || nil)
|
169
181
|
)
|
170
182
|
end
|
@@ -48,6 +48,8 @@ module Quke #:nodoc:
|
|
48
48
|
# Capybara::Poltergeist::Driver.new(app, my_driver_config.poltergeist)
|
49
49
|
#
|
50
50
|
def poltergeist
|
51
|
+
# The arguments we can pass to poltergeist are documented here
|
52
|
+
# https://github.com/teampoltergeist/poltergeist#customization
|
51
53
|
{
|
52
54
|
# Javascript errors will get re-raised in our tests causing them to fail
|
53
55
|
js_errors: true,
|
@@ -99,14 +101,17 @@ module Quke #:nodoc:
|
|
99
101
|
# )
|
100
102
|
#
|
101
103
|
def phantomjs
|
104
|
+
# For future reference the options we pass through to phantomjs appear to
|
105
|
+
# mirror those you can actually supply on the command line.
|
106
|
+
# http://phantomjs.org/api/command-line.html
|
102
107
|
options = [
|
103
108
|
'--load-images=no',
|
104
109
|
'--disk-cache=false',
|
105
110
|
'--ignore-ssl-errors=yes'
|
106
111
|
]
|
107
|
-
|
108
|
-
|
109
|
-
|
112
|
+
|
113
|
+
options.push("--proxy=#{config.proxy['host']}:#{config.proxy['port']}") if config.use_proxy?
|
114
|
+
|
110
115
|
options
|
111
116
|
end
|
112
117
|
|
@@ -120,7 +125,8 @@ module Quke #:nodoc:
|
|
120
125
|
# browser: :chrome,
|
121
126
|
# switches: [
|
122
127
|
# "--proxy-server=localhost:8080",
|
123
|
-
# "--proxy-bypass-list=127.0.0.1,192.168.0.1"
|
128
|
+
# "--proxy-bypass-list=127.0.0.1,192.168.0.1",
|
129
|
+
# "--user-agent=Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0)"
|
124
130
|
# ]
|
125
131
|
# )
|
126
132
|
#
|
@@ -145,6 +151,8 @@ module Quke #:nodoc:
|
|
145
151
|
result.push("--proxy-server=#{host}:#{port}") if config.use_proxy?
|
146
152
|
result.push("--proxy-bypass-list=#{no_proxy}") unless config.proxy['no_proxy'].empty?
|
147
153
|
|
154
|
+
result.push("--user-agent=#{config.user_agent}") unless config.user_agent.empty?
|
155
|
+
|
148
156
|
result
|
149
157
|
end
|
150
158
|
# rubocop:enable Metrics/AbcSize
|
@@ -160,6 +168,7 @@ module Quke #:nodoc:
|
|
160
168
|
# http: "10.10.2.70:8080",
|
161
169
|
# ssl: "10.10.2.70:8080"
|
162
170
|
# )
|
171
|
+
# my_profile['general.useragent.override'] = "Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0)"
|
163
172
|
# Capybara::Selenium::Driver.new(
|
164
173
|
# app,
|
165
174
|
# profile: my_profile
|
@@ -180,16 +189,15 @@ module Quke #:nodoc:
|
|
180
189
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
181
190
|
|
182
191
|
settings = {}
|
183
|
-
host = config.proxy['host']
|
184
|
-
port = config.proxy['port']
|
185
|
-
no_proxy = config.proxy['no_proxy']
|
186
192
|
|
187
|
-
settings[:http] = "#{host}:#{port}" if config.use_proxy?
|
193
|
+
settings[:http] = "#{config.proxy['host']}:#{config.proxy['port']}" if config.use_proxy?
|
188
194
|
settings[:ssl] = settings[:http] if config.use_proxy?
|
189
|
-
settings[:no_proxy] = no_proxy unless config.proxy['no_proxy'].empty?
|
195
|
+
settings[:no_proxy] = config.proxy['no_proxy'] unless config.proxy['no_proxy'].empty?
|
190
196
|
|
191
197
|
profile.proxy = Selenium::WebDriver::Proxy.new(settings) if config.use_proxy?
|
192
198
|
|
199
|
+
profile['general.useragent.override'] = config.user_agent unless config.user_agent.empty?
|
200
|
+
|
193
201
|
profile
|
194
202
|
end
|
195
203
|
# rubocop:enable Metrics/AbcSize
|
@@ -46,6 +46,8 @@ module Quke #:nodoc:
|
|
46
46
|
# For future reference the options we pass through to phantomjs appear to
|
47
47
|
# mirror those you can actually supply on the command line.
|
48
48
|
# http://phantomjs.org/api/command-line.html
|
49
|
+
# The arguments we can pass to poltergeist are documented here
|
50
|
+
# https://github.com/teampoltergeist/poltergeist#customization
|
49
51
|
Capybara.register_driver :phantomjs do |app|
|
50
52
|
# We ignore the next line (and those like it in the subsequent methods)
|
51
53
|
# from code coverage because we never actually execute them from Quke.
|
data/lib/quke/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quke
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alan Cruikshanks
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -248,6 +248,7 @@ files:
|
|
248
248
|
- exe/quke
|
249
249
|
- lib/features/support/after_hook.rb
|
250
250
|
- lib/features/support/after_step_hook.rb
|
251
|
+
- lib/features/support/before_hook.rb
|
251
252
|
- lib/features/support/env.rb
|
252
253
|
- lib/quke.rb
|
253
254
|
- lib/quke/configuration.rb
|