autospec 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 826e093752e432a327554f83c84a237b38abd31a
4
- data.tar.gz: 1b72c6ed4f73cd02b35b3cb8ad321bb6eff30428
3
+ metadata.gz: e7d9f9945e1c87ab4073af8f0eada8289759ad25
4
+ data.tar.gz: de7236829592e3b63d641aa8523a79cb9f7afd38
5
5
  SHA512:
6
- metadata.gz: c6cee272b9648fd42efc029932e16034c3f5c8630b19c2f6da9838d8a221a58ba7f7bb44738fe6261d6619c8a7850f9289ca3934410ea4953e1b738599a02c93
7
- data.tar.gz: f3065602f80fa5e88a2a65e66a06bebe74fc73017fc0f6f259908e6731ce6eaac375090afaacff49f9ff498073af17eed7bcffdd809dd1e4025f2dc5415e8fa5
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
- gem 'capybara'
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
- Install this gem.
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
- config.before :each do |example|
41
- example_full_description = example.full_description
42
- begin
43
- driver_helper.set_sauce_session_name(example_full_description) if driver_to_use.include?('saucelabs') && !driver_to_use.nil?
44
- Autospec.logger.debug "Finished setting saucelabs session name for #{example_full_description}"
45
- rescue
46
- Autospec.logger.debug "Failed setting saucelabs session name for #{example_full_description}"
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
- #### logs/autospec.log
119
- (empty file, add it to gitignore)
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
+ ```
@@ -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.0.0'
25
- spec.add_dependency 'rest-client', '~> 1.7.3'
26
- spec.add_dependency 'capybara-webkit', '~> 1.5.2'
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', '~> 10.0'
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
@@ -1,3 +1,3 @@
1
1
  module Autospec
2
- VERSION = "0.0.1"
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.1
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-07-09 00:00:00.000000000 Z
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.0.0
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.0.0
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.7.3
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.7.3
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.2
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.2
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: '10.0'
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: '10.0'
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement