quke 0.3.0 → 0.3.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 +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
|