autospec 0.0.1 → 0.0.3
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/Gemfile +1 -12
- data/README.md +51 -22
- data/autospec.gemspec +5 -5
- data/lib/autospec/page_helper_module.rb +1 -1
- data/lib/autospec/version.rb +2 -2
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7d9f9945e1c87ab4073af8f0eada8289759ad25
|
4
|
+
data.tar.gz: de7236829592e3b63d641aa8523a79cb9f7afd38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59c2895f210c363222b296ac53f278778bc089c18396ae7b80a08a39a0ae987a59dd5c63ac7d085d18c44830b36d325274555a42909148545cf2f9d7aa4c5510
|
7
|
+
data.tar.gz: f0327f4644822c9650fcc14900fe5f5d123c8bd4636befc2590a46af255b503cc285a5410ac766cb93d59915bb31a279e9c867c7b4e1d0168e207f1b9f955a01
|
data/Gemfile
CHANGED
@@ -1,14 +1,3 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
|
4
|
-
gem 'selenium-webdriver', '~> 2.46'
|
5
|
-
gem 'activesupport', '~> 4.0.0'
|
6
|
-
gem 'rake'
|
7
|
-
gem 'rest-client'
|
8
|
-
gem 'capybara-webkit'
|
9
|
-
|
10
|
-
group :development do
|
11
|
-
gem 'rspec'
|
12
|
-
# gem 'parallel_tests'
|
13
|
-
gem 'pry'
|
14
|
-
end
|
3
|
+
gemspec
|
data/README.md
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
# Autospec
|
2
2
|
|
3
|
-
Gem prototype abstracted from [automation-rspec](https://github.com/peijiehu/automation-rspec)
|
3
|
+
Gem prototype abstracted from [automation-rspec](https://github.com/peijiehu/automation-rspec).
|
4
|
+
|
5
|
+
Demo [autospec-demo](https://github.com/peijiehu/autospec-demo)
|
4
6
|
|
5
7
|
## Installation
|
6
8
|
|
7
|
-
|
9
|
+
You can skip the installation and download the demo above instead.
|
10
|
+
|
11
|
+
Install this gem - add following to your Gemfile.
|
12
|
+
|
13
|
+
gem 'autospec'
|
14
|
+
|
8
15
|
In your spec_helper.rb, add the following lines before Rspec.configure:
|
9
|
-
```
|
10
16
|
|
11
17
|
require 'capybara'
|
12
18
|
require 'capybara/rspec'
|
@@ -33,26 +39,21 @@ In your spec_helper.rb, add the following lines before Rspec.configure:
|
|
33
39
|
env_yaml = YAML.load_file("#{Dir.pwd}/config/autospec/env.yml")
|
34
40
|
Capybara.app_host = env_yaml[app_host]
|
35
41
|
|
36
|
-
```
|
37
42
|
And, add this in your Rspec.configure in spec_helper.rb,
|
38
|
-
```
|
39
43
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
config.before :each do |example|
|
45
|
+
example_full_description = example.full_description
|
46
|
+
begin
|
47
|
+
driver_helper.set_sauce_session_name(example_full_description) if driver_to_use.include?('saucelabs') && !driver_to_use.nil?
|
48
|
+
Autospec.logger.debug "Finished setting saucelabs session name for #{example_full_description}"
|
49
|
+
rescue
|
50
|
+
Autospec.logger.debug "Failed setting saucelabs session name for #{example_full_description}"
|
51
|
+
end
|
52
|
+
page.driver.allow_url '*' if driver_to_use == 'webkit'
|
47
53
|
end
|
48
|
-
page.driver.allow_url '*' if driver_to_use == 'webkit'
|
49
|
-
end
|
50
54
|
|
51
|
-
```
|
52
55
|
#### config/autospec/saucelabs.yml
|
53
56
|
|
54
|
-
```
|
55
|
-
|
56
57
|
---
|
57
58
|
driver: 'remote'
|
58
59
|
hub:
|
@@ -103,17 +104,45 @@ And, add this in your Rspec.configure in spec_helper.rb,
|
|
103
104
|
platform: 'Windows 7'
|
104
105
|
screen-resolution: '1600x1200'
|
105
106
|
|
106
|
-
```
|
107
|
-
|
108
107
|
#### config/autospec/env.yml
|
109
|
-
```
|
110
108
|
|
111
109
|
---
|
112
110
|
qa: 'http://www.qa.xxx.com'
|
113
111
|
prod: 'http://www.xxx.com'
|
114
112
|
duck: 'https://duckduckgo.com'
|
115
113
|
|
114
|
+
#### logs/autospec.log
|
115
|
+
(empty file, add it to gitignore)
|
116
|
+
|
117
|
+
#### reports/
|
118
|
+
(empty directory for storing test results)
|
119
|
+
|
120
|
+
#### .rspec_parallel
|
121
|
+
when running specs through 'parallel_rspec', options in .rspec_parallel will be used, instead of .rspec. Results should be recorded in JUnit format under reports/, so CI like Jenkins can read and publish. Your .rspec_parallel should look like this:
|
116
122
|
```
|
117
123
|
|
118
|
-
|
119
|
-
|
124
|
+
--color
|
125
|
+
--require spec_helper
|
126
|
+
--format progress
|
127
|
+
--format RspecJunitFormatter
|
128
|
+
--out reports/ci_result_<%= ENV['TEST_ENV_NUMBER'] %>.xml
|
129
|
+
|
130
|
+
```
|
131
|
+
|
132
|
+
## Usage
|
133
|
+
To run specs
|
134
|
+
|
135
|
+
r_env=duck rspec # to run all specs, on duckduckgo.com
|
136
|
+
r_driver=saucelabs rspec # run all specs on saucelabs, with default OS and browser
|
137
|
+
r_driver=saucelabs:peijie:win7_ff38 rspec # see config/autospec/saucelabs.yml for available user, os and browsers
|
138
|
+
|
139
|
+
If your test doesn't care browser compatibility, but you still want javascript support, then go with headless webkit,
|
140
|
+
run:
|
141
|
+
```
|
142
|
+
r_driver=webkit rspec
|
143
|
+
```
|
144
|
+
To run specs in parallel, with serialized stdout printing out after all specs are done
|
145
|
+
(note that when running specs through 'parallel_rspec', options in .rspec_parallel will be used, instead of .rspec)
|
146
|
+
```
|
147
|
+
parallel_rspec --serialize-stdout -n 15 spec/
|
148
|
+
```
|
data/autospec.gemspec
CHANGED
@@ -21,12 +21,12 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_dependency 'capybara', '~> 2.4.4'
|
23
23
|
spec.add_dependency 'selenium-webdriver', '~> 2.46'
|
24
|
-
spec.add_dependency 'activesupport', '~> 4.
|
25
|
-
spec.add_dependency 'rest-client', '~> 1.
|
26
|
-
spec.add_dependency 'capybara-webkit', '~> 1.5
|
24
|
+
spec.add_dependency 'activesupport', '~> 4.2'
|
25
|
+
spec.add_dependency 'rest-client', '~> 1.8'
|
26
|
+
spec.add_dependency 'capybara-webkit', '~> 1.5'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'bundler', '~> 1.8'
|
29
|
-
spec.add_development_dependency 'rake'
|
29
|
+
spec.add_development_dependency 'rake'
|
30
30
|
spec.add_development_dependency 'rspec'
|
31
31
|
spec.add_development_dependency 'pry'
|
32
|
-
end
|
32
|
+
end
|
@@ -21,7 +21,7 @@ module Autospec
|
|
21
21
|
|
22
22
|
# Wait on all AJAX requests to finish
|
23
23
|
def wait_for_ajax(timeout = Capybara.default_wait_time)
|
24
|
-
wait(timeout: timeout, msg: "Timeout after waiting #{timeout} for all ajax requests to finish") do
|
24
|
+
wait(timeout: timeout, msg: "Timeout after waiting #{timeout} for all ajax requests to finish").until do
|
25
25
|
current_session.evaluate_script 'jQuery.active == 0'
|
26
26
|
end
|
27
27
|
end
|
data/lib/autospec/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Autospec
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.3"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autospec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peijie Hu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -44,42 +44,42 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 4.
|
47
|
+
version: '4.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 4.
|
54
|
+
version: '4.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rest-client
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: '1.8'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: '1.8'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: capybara-webkit
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.5
|
75
|
+
version: '1.5'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.5
|
82
|
+
version: '1.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: bundler
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,16 +98,16 @@ dependencies:
|
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|