testgen 0.8.7 → 0.8.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6efb741ac6e4e2fd8ec3bafb7e86dccc65c2521e
4
- data.tar.gz: 60a2861e958766767ccf505432f132d659a8096b
3
+ metadata.gz: 4e6bbdb1712082df133c636c04d9e4712676e6de
4
+ data.tar.gz: c66e90823e72568fd6145d5f291f4abbae1d5b7f
5
5
  SHA512:
6
- metadata.gz: 98b7131969419b17c53cd7704ed357a2827e49e824b27fce57285fbf295e6f3a7c9814622017cd52c5a31df914167e2354f59faf4f2e606191adac159859e955
7
- data.tar.gz: 72c7cd6a96ace531540d61d3065bae9c56ce6535703da0012b97386077d79271ead8a57af5e4a255c07ca6d709bb6fda33222120d563e032af569c5238b4c9b6
6
+ metadata.gz: 3980e40b53462e491d8b0771de8292614419b9b8d963e318f02375581798d5ec95a6c201d00ec3cbcf6ce21e90cd192e70a199e7cf39db7efa08595f4deb55a5
7
+ data.tar.gz: c0f5fe1818a07d79e74bd1ad99cf1f5c6a639782ab524ebd64f7fb0d70f76f5fbf426dcf072eeb91a87554b1817eb4d472f1636ff49095471f0014c3c88a9f89
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ === Version 0.8.8 / 2016-07-31
2
+ * Removed redundant line with rake gem from Gemfile
3
+ * Added support of appium lib (Thanks Kirikami)
4
+
1
5
  === Version 0.8.7 / 2014-12-12
2
6
  * Updated to remove Rake warning (Thanks Paul Clewell)
3
7
 
data/Readme.md CHANGED
@@ -23,6 +23,10 @@ If you are testing an android application in the emulator or on a device, <em>te
23
23
 
24
24
  testgen project <project_name> --with-gametel
25
25
 
26
+ If you want to setup project to use the Appium library
27
+
28
+ testgen project <project_name> --with-appium
29
+
26
30
  ## Native Windows testing
27
31
 
28
32
  If you are testing a native windows application, <em>testgen</em> can setup the project to use the Mohawk gem.
@@ -0,0 +1,46 @@
1
+ Feature: Adding the --with-gametel flag
2
+
3
+ Scenario: Adding the require_all and appium gems to Gemfile
4
+ When I run `testgen project sample --with-appium`
5
+ Then a file named "sample/Gemfile" should exist
6
+ And the file "sample/Gemfile" should contain "gem 'require_all'"
7
+ And the file "sample/Gemfile" should contain "gem 'appium_lib'"
8
+ And the file "sample/Gemfile" should contain "gem 'cucumber'"
9
+
10
+ Scenario: Adding appium to env.rb
11
+ When I run `testgen project sample --with-appium`
12
+ Then a file named "sample/features/support/env.rb" should exist
13
+ And the file "sample/features/support/env.rb" should contain "require 'appium_lib'"
14
+ And the file "sample/features/support/env.rb" should contain "AppiumWorld.new"
15
+
16
+ Scenario: Creating the keystore
17
+ When I run `testgen project sample --with-appium`
18
+ Then a file named "sample/features/support/env.rb" should exist
19
+ And the file "sample/features/support/env.rb" should contain "@desired_caps = {"
20
+ And the file "sample/features/support/env.rb" should contain "caps: {"
21
+ And the file "sample/features/support/env.rb" should contain "platformName: 'android'"
22
+ And the file "sample/features/support/env.rb" should contain "deviceName: ENV['DEVICE_NAME']"
23
+ And the file "sample/features/support/env.rb" should contain "app: '<your_app>'"
24
+ And the file "sample/features/support/env.rb" should contain "},"
25
+ And the file "sample/features/support/env.rb" should contain "appium_lib: {"
26
+ And the file "sample/features/support/env.rb" should contain "port: 4723"
27
+
28
+ Scenario: Creating the Driver and hooks
29
+ When I run `testgen project sample --with-appium`
30
+ Then a file named "sample/features/support/env.rb" should exist
31
+ And the file "sample/features/support/env.rb" should contain "Appium::Driver.new(@desired_caps).start_driver"
32
+ And the file "sample/features/support/env.rb" should contain "Appium.promote_appium_methods Object"
33
+ And the file "sample/features/support/env.rb" should contain "driver_quit"
34
+
35
+
36
+ Scenario: Should not create the hooks file
37
+ When I run `testgen project sample --with-appium`
38
+ Then a file named "sample/features/support/hooks.rb" should not exist
39
+
40
+ Scenario: Creating the screens directory under support
41
+ When I run `testgen project sample --with-appium`
42
+ Then a directory named "sample/features/support/screens" should exist
43
+
44
+ Scenario: Creating the screens directory under lib when using --wth-lib
45
+ When I run `testgen project sample --with-appium --with-lib`
46
+ Then a directory named "sample/lib/screens" should exist
@@ -9,12 +9,15 @@ module TestGen
9
9
  method_option :with_lib, :type => :boolean, :desc => "Place shared objects under lib directory"
10
10
  method_option :with_gametel, :type => :boolean, :desc => "Add support for gametel gem"
11
11
  method_option :with_mohawk, :type => :boolean, :desc => 'Adds support for mohawk gem'
12
+ method_option :with_appium, :type => :boolean, :desc => 'Add support for appium'
13
+
12
14
  def project(name)
13
15
  driver = options[:pageobject_driver].nil? ? 'none' : options[:pageobject_driver]
14
16
  with_lib = options[:with_lib] ? 'true' : 'false'
15
17
  with_gametel = options[:with_gametel] ? 'true' : 'false'
16
18
  with_mohawk = options[:with_mohawk] ? 'true' : 'false'
17
- TestGen::Generators::Project.start([name, driver, with_lib, with_gametel, with_mohawk])
19
+ with_appium = options[:with_appium] ? 'true' : 'false'
20
+ TestGen::Generators::Project.start([name, driver, with_lib, with_gametel, with_mohawk, with_appium])
18
21
  end
19
22
 
20
23
  end
@@ -10,6 +10,8 @@ module TestGen
10
10
  argument :with_lib, :type => :string, :desc => 'Place all shared objects in the lib directory'
11
11
  argument :with_gametel, :type => :string, :desc => 'Add support for the gametel gem'
12
12
  argument :with_mohawk, :type => :string, :desc => 'Add support for the mohawk gem'
13
+ argument :with_appium, :type => :string, :desc => 'Add support for appium gem'
14
+
13
15
  desc "Generates a project structure for testing with Cucumber"
14
16
 
15
17
  def self.source_root
@@ -53,10 +55,10 @@ module TestGen
53
55
  def create_pages_directory
54
56
  if gen_lib
55
57
  empty_directory("#{name}/lib/pages") unless no_driver_selected
56
- empty_directory("#{name}/lib/screens") if with_gametel == 'true' or with_mohawk == 'true'
58
+ empty_directory("#{name}/lib/screens") if with_gametel == 'true'|| with_mohawk == 'true' || with_appium == 'true'
57
59
  else
58
60
  empty_directory("#{name}/features/support/pages") unless no_driver_selected
59
- empty_directory("#{name}/features/support/screens") if with_gametel == 'true' or with_mohawk == 'true'
61
+ empty_directory("#{name}/features/support/screens") if with_gametel == 'true' || with_mohawk == 'true' || with_appium == 'true'
60
62
  end
61
63
  end
62
64
 
@@ -6,16 +6,18 @@ gem 'rake'
6
6
  <% unless pageobject_driver.downcase == 'none' -%>
7
7
  gem 'page-object'
8
8
  <% end -%>
9
- <% if with_lib == 'true' or with_gametel == 'true' -%>
9
+ <% if with_lib == 'true' or with_gametel == 'true' or with_appium == 'true' -%>
10
10
  gem 'require_all'
11
11
  <% end -%>
12
12
  <% if with_gametel == 'true' -%>
13
13
  gem 'gametel'
14
- gem 'rake'
15
14
  <% end -%>
16
15
  <% if with_mohawk == 'true' -%>
17
16
  gem 'mohawk', '~> 0.1'
18
17
  gem 'ffi', '1.9.0'
19
18
  gem 'win32screenshot'
20
- gem 'rake'
19
+ <% end -%>
20
+ <% if with_appium =='true' -%>
21
+ gem 'appium_lib'
22
+ gem 'selenium-cucumber'
21
23
  <% end -%>
@@ -40,6 +40,36 @@ After do
40
40
  Gametel.stop
41
41
  end
42
42
  <% end -%>
43
+ <% if with_appium == 'true' -%>
44
+ require 'appium_lib'
45
+
46
+
47
+ class AppiumWorld
48
+ end
49
+
50
+ PROJECT_DIR = File.expand_path(File.dirname(__FILE__) + '../../..')
51
+
52
+ @desired_caps = {
53
+ caps: {
54
+ platformName: 'android',
55
+ deviceName: ENV['DEVICE_NAME'],
56
+ app: '<your_app>',
57
+ },
58
+ appium_lib: {
59
+ port: 4723
60
+ }
61
+ }
62
+ Appium::Driver.new(@desired_caps).start_driver
63
+ Appium.promote_appium_methods Object
64
+
65
+ World do
66
+ AppiumWorld.new
67
+ end
68
+
69
+ at_exit do
70
+ driver_quit
71
+ end
72
+ <% end -%>
43
73
  <% unless pageobject_driver.downcase == 'none' -%>
44
74
  World(PageObject::PageFactory)
45
75
  <% end -%>
@@ -1,3 +1,3 @@
1
1
  module TestGen
2
- VERSION = "0.8.7"
2
+ VERSION = "0.8.8"
3
3
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey S. Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-12 00:00:00.000000000 Z
11
+ date: 2016-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.17.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.17.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.13.0
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
54
  version: 2.13.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: require_all
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: aruba
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: A collection of generators build things for testers using Cucumber
@@ -88,9 +88,9 @@ executables:
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
- - .gitignore
92
- - .ruby-gemset
93
- - .ruby-version
91
+ - ".gitignore"
92
+ - ".ruby-gemset"
93
+ - ".ruby-version"
94
94
  - ChangeLog
95
95
  - Gemfile
96
96
  - Guardfile
@@ -102,6 +102,7 @@ files:
102
102
  - features/support/hooks.rb
103
103
  - features/testgen_project.feature
104
104
  - features/testgen_with_pageobject.feature
105
+ - features/with_appium.feature
105
106
  - features/with_gametel_option.feature
106
107
  - features/with_lib_option.feature
107
108
  - features/with_mohawk_option.feature
@@ -125,17 +126,17 @@ require_paths:
125
126
  - lib
126
127
  required_ruby_version: !ruby/object:Gem::Requirement
127
128
  requirements:
128
- - - '>='
129
+ - - ">="
129
130
  - !ruby/object:Gem::Version
130
131
  version: '0'
131
132
  required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  requirements:
133
- - - '>='
134
+ - - ">="
134
135
  - !ruby/object:Gem::Version
135
136
  version: '0'
136
137
  requirements: []
137
138
  rubyforge_project: testgen
138
- rubygems_version: 2.0.14
139
+ rubygems_version: 2.5.1
139
140
  signing_key:
140
141
  specification_version: 4
141
142
  summary: Generators for testers using Cucumber
@@ -144,6 +145,7 @@ test_files:
144
145
  - features/support/hooks.rb
145
146
  - features/testgen_project.feature
146
147
  - features/testgen_with_pageobject.feature
148
+ - features/with_appium.feature
147
149
  - features/with_gametel_option.feature
148
150
  - features/with_lib_option.feature
149
151
  - features/with_mohawk_option.feature