testnow 0.0.5 → 0.0.6
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/README.md +66 -2
- data/bin/testnow +5 -2
- data/data/showtime/Rakefile +5 -0
- data/data/showtime/env.rb +0 -1
- data/lib/testnow.rb +6 -3
- data/lib/testnow/android.rb +8 -0
- data/lib/testnow/android_chrome.rb +12 -0
- data/lib/testnow/internet_explorer.rb +21 -0
- data/lib/testnow/version +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2192857e7f1f56c7e190e32b7f853fda9baa62bd
|
4
|
+
data.tar.gz: 3e5dc6cf8ce9510bb75100148381225cf4aa3730
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 717fdb1ce5432a827efd8e9598dafbeead074d6b5c2edb2928eedb781e0920912522aa26f88e90f707c0f881d43d3ec9fc2486a3e9a16d9edd79fbbda09aa551
|
7
|
+
data.tar.gz: 86b7ec6b8e3fa4360f4d6b7bf164db42b429addf01ab9a42348c63e7163bc2ac7af175d27fc414225a1f92700217a7ad7f81a93c371ce3454277b550c44fe63f
|
data/README.md
CHANGED
@@ -1,4 +1,68 @@
|
|
1
1
|
# testnow
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
An instant WebDriver-Ruby-Cucumber or WebDriver-Ruby-RSpec framework which has ability to do cross browser testing on any of the popular browsers, Firefox, Chrome, Opera, Internet Explorer, Safari, Android Browser. It uses the selenium-webdriver to driver the browsers already installed on your box. This gem also makes your existing automation code compatible to the TestNow platform by adding 1 command in your existing setup method.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
You must have Ruby installed before you can install this gem.
|
7
|
+
|
8
|
+
```
|
9
|
+
gem install testnow
|
10
|
+
```
|
11
|
+
|
12
|
+
or you can include it in your Gemfile and run bundle install
|
13
|
+
|
14
|
+
```
|
15
|
+
gem 'testnow'
|
16
|
+
```
|
17
|
+
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
### 1. Instant Cross Browser Configuration -- TestNow Platform Compatibility
|
22
|
+
When creating a Selenium-WebDriver automation suite, if one requires cross browser testing, the biggest headache is configuring all browsers mainly because configurations for every browser is done differently. It is . This is where TestNow gem jumps in as an Asprin.
|
23
|
+
|
24
|
+
Unlike some very famous Ruby-WebDriver tools which wraps up the WebDriver object and provides its own set of commands, TestNow gem returns you the ```driver``` object as is but initialized with any browser of your choice.
|
25
|
+
|
26
|
+
In your existing automation suite, just put the following command in the setup method. (Setup method is where WebDriver is initialized with a certain browser and a driver object is created.)
|
27
|
+
|
28
|
+
```
|
29
|
+
@driver = TestNow.init
|
30
|
+
```
|
31
|
+
|
32
|
+
TestNow gem uses the environment variable __BROWSER__ to detect which browser to initialize. If no value is set for this variable then firefox will be initialized by default.
|
33
|
+
|
34
|
+
|
35
|
+
### 2. Instant WebDriver-Ruby-Cucumber framework
|
36
|
+
|
37
|
+
```
|
38
|
+
testnow cucumber_now
|
39
|
+
```
|
40
|
+
This will run a series of commands and create a WebDriver-Ruby-Cucumber framework for you in a directory called __cucumber_now__. It will towards the end also ask you for gem dependency installation and it is highly recommended to say Yes. It will also create a sample scenario with a feature file and also a hooks and env file with all configurations. This scenario can be executed by simple command to see a demo of the execution.
|
41
|
+
|
42
|
+
```
|
43
|
+
cd cucumber_now # Navigate into the created directory
|
44
|
+
|
45
|
+
Command 1 : cucumber features # Executes using cucumber gem executable
|
46
|
+
or
|
47
|
+
Command 2 : rake cucumber_now # Executes using cucumber rake task
|
48
|
+
```
|
49
|
+
|
50
|
+
Use any of the command to execute the sample scenario. A beautiful, screenshot embedded report will be created by this execution to in the reports directory. It will be in html format, please double click or open in a browser to view it.
|
51
|
+
|
52
|
+
|
53
|
+
### 3. Instant WebDriver-Ruby-RSpec framework
|
54
|
+
|
55
|
+
```
|
56
|
+
testnow rspec_now
|
57
|
+
```
|
58
|
+
|
59
|
+
This will run a series of commands and create a WebDriver-Ruby-RSpec framework for you in a directory called __rspec_now__. It will towards the end also ask you for gem dependency installation and it is highly recommended to say Yes. It will also create a sample scenario with a spec and spec_helper file with all configuration. This scenario can be executed by simple command to see a live demo of the execution.
|
60
|
+
|
61
|
+
```
|
62
|
+
cd cucumber_now # Navigate into the created directory
|
63
|
+
|
64
|
+
rake rspec_now # Executes using cucumber rake task
|
65
|
+
```
|
66
|
+
|
67
|
+
Use any of the command to execute the sample spec. A beautiful report will be created by this execution to in the reports directory. It will be in html format, please double click or open in a browser to view it.
|
68
|
+
|
data/bin/testnow
CHANGED
@@ -62,6 +62,9 @@ def cucumber_now
|
|
62
62
|
print "Creating cucumber.yml -- used to provide cucumber options"
|
63
63
|
FileUtils.copy(@showtime_dir+"/cucumber.yml", @root_dir)
|
64
64
|
|
65
|
+
print "Creating Rakefile -- used to write automation execution tasks."
|
66
|
+
FileUtils.copy(@showtime_dir+"/Rakefile", @root_dir)
|
67
|
+
|
65
68
|
puts "\n"+"*"*97
|
66
69
|
puts "* TestNow completed framework creation. A sample scenario is also created for your reference. *"
|
67
70
|
puts "*"*97
|
@@ -120,7 +123,7 @@ def rspec_now
|
|
120
123
|
print "Creating Gemfile -- used to contain all required gems information."
|
121
124
|
FileUtils.copy(@showtime_dir+"/Gemfile", @root_dir)
|
122
125
|
|
123
|
-
print "Creating Rakefile -- used to
|
126
|
+
print "Creating Rakefile -- used to write automation execution tasks."
|
124
127
|
FileUtils.copy(@showtime_dir+"/Rakefile_rspec", @root_dir+"/Rakefile")
|
125
128
|
|
126
129
|
print "Creating spec file inside the scenarios directory."
|
@@ -145,7 +148,7 @@ def rspec_now
|
|
145
148
|
puts "* To run the sample reference test, please cd into rspec_now directory *"
|
146
149
|
puts "* and run the command 'rake rspec_now'. Enjoy the show!!! *"
|
147
150
|
puts "* A beautiful descriptive report will be created in reports directory. *"
|
148
|
-
puts "*
|
151
|
+
puts "* !!! HAPPY AUTOMATION !!! *"
|
149
152
|
puts "*"*77+"\n"
|
150
153
|
|
151
154
|
end
|
data/data/showtime/env.rb
CHANGED
data/lib/testnow.rb
CHANGED
@@ -2,6 +2,9 @@ require 'selenium-webdriver'
|
|
2
2
|
require 'testnow/chrome'
|
3
3
|
require 'testnow/opera'
|
4
4
|
require 'testnow/firefox'
|
5
|
+
require 'testnow/android'
|
6
|
+
require 'testnow/android_chrome'
|
7
|
+
require 'testnow/internet_explorer'
|
5
8
|
|
6
9
|
module TestNow
|
7
10
|
|
@@ -11,13 +14,13 @@ module TestNow
|
|
11
14
|
when "chrome"
|
12
15
|
TestNow.launch_driver_chrome
|
13
16
|
when "android"
|
14
|
-
launch_driver_android
|
17
|
+
TestNow.launch_driver_android
|
15
18
|
when "opera"
|
16
19
|
TestNow.launch_driver_opera
|
17
20
|
when "androidchrome"
|
18
|
-
launch_driver_android_chrome
|
21
|
+
TestNow.launch_driver_android_chrome
|
19
22
|
when "ie"
|
20
|
-
launch_driver_ie
|
23
|
+
TestNow.launch_driver_ie
|
21
24
|
else
|
22
25
|
TestNow.launch_driver_firefox
|
23
26
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module TestNow
|
2
|
+
|
3
|
+
def launch_driver_android_chrome
|
4
|
+
client = Selenium::WebDriver::Remote::Http::Default.new
|
5
|
+
client.timeout = 120
|
6
|
+
caps = {'chromeOptions'=> {'androidPackage' => 'com.android.chrome'}}
|
7
|
+
@driver = Selenium::WebDriver.for(:remote, :http_client => client, :url => "http://localhost:9515", :desired_capabilities => caps)
|
8
|
+
@driver.manage.timeouts.implicit_wait = 60
|
9
|
+
@driver
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module TestNow
|
2
|
+
|
3
|
+
def launch_driver_ie
|
4
|
+
client = Selenium::WebDriver::Remote::Http::Default.new
|
5
|
+
client.timeout = 120
|
6
|
+
caps = Selenium::WebDriver::Remote::Capabilities.ie('ie.ensureCleanSession' => true, :javascript_enabled => true, :http_client => client, :native_events => false, :acceptSslCerts => true)
|
7
|
+
@driver = Selenium::WebDriver.for(:ie, :desired_capabilities => caps)
|
8
|
+
@driver.manage.timeouts.implicit_wait = 90
|
9
|
+
@driver.manage.timeouts.page_load = 120
|
10
|
+
if ENV['RESOLUTION'].nil?
|
11
|
+
@driver.manage.window.size = Selenium::WebDriver::Dimension.new(1366,768)
|
12
|
+
elsif ENV['RESOLUTION'].downcase == "max"
|
13
|
+
@driver.manage.window.maximize
|
14
|
+
else
|
15
|
+
res = ENV['RESOLUTION'].split('x')
|
16
|
+
@driver.manage.window.size = Selenium::WebDriver::Dimension.new(res.first.to_i, res.last.to_i)
|
17
|
+
end
|
18
|
+
@driver
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/lib/testnow/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testnow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kaushal Rupani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- data/netExport-0.8.xpi
|
66
66
|
- data/showtime/Gemfile
|
67
67
|
- data/showtime/Gemfile_rspec
|
68
|
+
- data/showtime/Rakefile
|
68
69
|
- data/showtime/Rakefile_rspec
|
69
70
|
- data/showtime/cucumber.yml
|
70
71
|
- data/showtime/env.rb
|
@@ -75,8 +76,11 @@ files:
|
|
75
76
|
- data/showtime/hooks.rb
|
76
77
|
- data/showtime/spec_helper.rb
|
77
78
|
- lib/testnow.rb
|
79
|
+
- lib/testnow/android.rb
|
80
|
+
- lib/testnow/android_chrome.rb
|
78
81
|
- lib/testnow/chrome.rb
|
79
82
|
- lib/testnow/firefox.rb
|
83
|
+
- lib/testnow/internet_explorer.rb
|
80
84
|
- lib/testnow/opera.rb
|
81
85
|
- lib/testnow/version
|
82
86
|
- spec/spec_helper.rb
|