crash_monkey 0.1.7 → 0.2.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d470a651eddb157e7ac2731e05540776be327c65
4
+ data.tar.gz: dd44b5fadd94a093c47b2e4841976519ca28988b
5
+ SHA512:
6
+ metadata.gz: 3266dfc8968cd88839a926976a0cfa71dbc36f4992a1271070d706ffb257be8c4c1c2e71aecb4b7488e5aad2d11231d2356c386fe4ab7c6b7da0d7d0a1dd08d3
7
+ data.tar.gz: 26e71a962b45f54fa00d8d911fcca4224c24ad74ac33d1889d18182a4db947ac391947763671b450ea17bbe0ce0c0337281040f25894bafcfdcc9aa1715fd83d
data/Gemfile CHANGED
@@ -13,5 +13,9 @@ group :development do
13
13
  gem 'rdoc', '~> 3.12'
14
14
  gem 'bundler', '> 1.0.0'
15
15
  gem 'jeweler', '~> 1.8.4'
16
- gem 'rcov', '>= 0'
16
+ if RUBY_VERSION > '1.9' then
17
+ gem 'simplecov', '>= 0.8.2'
18
+ else
19
+ gem 'rcov', '>= 0'
20
+ end
17
21
  end
data/Gemfile.lock CHANGED
@@ -1,13 +1,14 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.5)
4
+ addressable (2.3.6)
5
5
  builder (3.2.2)
6
6
  diff-lcs (1.1.3)
7
+ docile (1.1.3)
7
8
  erubis (2.7.0)
8
- faraday (0.8.7)
9
- multipart-post (~> 1.1)
10
- git (1.2.5)
9
+ faraday (0.8.9)
10
+ multipart-post (~> 1.2.0)
11
+ git (1.2.6)
11
12
  github_api (0.10.1)
12
13
  addressable
13
14
  faraday (~> 0.8.1)
@@ -16,9 +17,8 @@ GEM
16
17
  nokogiri (~> 1.5.2)
17
18
  oauth2
18
19
  hashie (2.0.5)
19
- highline (1.6.19)
20
- httpauth (0.2.0)
21
- jeweler (1.8.6)
20
+ highline (1.6.21)
21
+ jeweler (1.8.8)
22
22
  builder
23
23
  bundler (~> 1.0)
24
24
  git (>= 1.2.5)
@@ -27,23 +27,21 @@ GEM
27
27
  nokogiri (= 1.5.10)
28
28
  rake
29
29
  rdoc
30
- json (1.8.0)
31
- jwt (0.1.8)
30
+ json (1.8.1)
31
+ jwt (0.1.11)
32
32
  multi_json (>= 1.5)
33
- multi_json (1.7.7)
34
- multi_xml (0.5.4)
33
+ multi_json (1.9.2)
34
+ multi_xml (0.5.5)
35
35
  multipart-post (1.2.0)
36
36
  nokogiri (1.5.10)
37
- oauth2 (0.9.2)
38
- faraday (~> 0.8)
39
- httpauth (~> 0.2)
40
- jwt (~> 0.1.4)
41
- multi_json (~> 1.0)
37
+ oauth2 (0.9.3)
38
+ faraday (>= 0.8, < 0.10)
39
+ jwt (~> 0.1.8)
40
+ multi_json (~> 1.3)
42
41
  multi_xml (~> 0.5)
43
42
  rack (~> 1.2)
44
43
  rack (1.5.2)
45
- rake (10.1.0)
46
- rcov (1.0.0)
44
+ rake (10.2.2)
47
45
  rdoc (3.12.2)
48
46
  json (~> 1.4)
49
47
  rspec (2.8.0)
@@ -54,6 +52,11 @@ GEM
54
52
  rspec-expectations (2.8.0)
55
53
  diff-lcs (~> 1.1.2)
56
54
  rspec-mocks (2.8.0)
55
+ simplecov (0.8.2)
56
+ docile (~> 1.1.0)
57
+ multi_json
58
+ simplecov-html (~> 0.8.0)
59
+ simplecov-html (0.8.0)
57
60
 
58
61
  PLATFORMS
59
62
  ruby
@@ -63,6 +66,6 @@ DEPENDENCIES
63
66
  erubis (>= 2.7.0)
64
67
  jeweler (~> 1.8.4)
65
68
  json (>= 1.7.0)
66
- rcov
67
69
  rdoc (~> 3.12)
68
70
  rspec (~> 2.8.0)
71
+ simplecov (>= 0.8.2)
data/README.md CHANGED
@@ -1,24 +1,42 @@
1
1
  CrashMonkey
2
2
  ===========
3
+ [Japanese](README_jp.md)
3
4
 
4
- 概要
5
+ About
5
6
  ----
6
7
 
7
- iOSのアプリケーションをモンキーテスト(ランダムな操作をひたすら行う)するためのツールです。
8
- 動作イメージはこの[デモ動画](http://youtu.be/y5PZGVbLHtI)を御覧ください。
9
- iPhone Simulatorの操作にはUIAutomationを使っていて、ベースとして[ui-auto-monkey](https://github.com/jonathanpenn/ui-auto-monkey)を使わせて頂きました。
8
+ This is a tool of monkey test(random operation test) for iOS applications.
9
+ Please watch the [demo movie](http://youtu.be/y5PZGVbLHtI).
10
+ CrashMonkey uses UIAutomation and modified [ui-auto-monkey](https://github.com/jonathanpenn/ui-auto-monkey) for iPhone Simulator manipulation.
10
11
 
11
12
 
12
- 動作環境
13
+ Environment
13
14
  -------
14
15
 
15
- 以下の環境でのみ確認してあります。
16
+ It is confirmed only in the following environment.
16
17
 
17
18
  * Max OS X 10.8.4
18
19
  * Xcode 4.6.3(Build version 4H1503)
19
20
  * Ruby 1.8.7-p371
20
21
 
21
- Rubyについては、1.9系, 2.0系でも動くと思います。
22
+ Ruby versions may be OK 1.9.x and 2.0.x.
23
+
24
+ Features
25
+ ---------
26
+
27
+ ### Good Points
28
+
29
+ * No need to modify the app's project.
30
+ * It can specify the running period and times.
31
+ * The results of Screenshots and Operations history can be shown as HTML.
32
+ * the console log and crash report can be shown.
33
+ * It is easy to be used from CI tools like Jenkins.
34
+
35
+ ### Restrictions
36
+
37
+ * It can be run only in iPhone Simulator.
38
+ * The test can not continue when another application(like Safari) is the most front. (detect and finish the test).
39
+ * It can not input suitable characters like ID/Pass.
22
40
 
23
41
 
24
42
  Install
@@ -28,16 +46,19 @@ Install
28
46
  gem install crash_monkey --no-ri --no-rdoc
29
47
  ```
30
48
 
31
- 使いかた
49
+ How to use
32
50
  ------
33
51
 
52
+ ### Simple Usage
53
+
34
54
  ```
35
55
  crash_monkey -a <APP_NAME or APP_PATH>
36
56
  ```
37
57
 
38
- `-a`でアプリの名前かPATHを指定します。
58
+ `-a` specify AppName or PATH.
59
+
39
60
 
40
- ####
61
+ #### Example
41
62
 
42
63
  ```
43
64
  crash_monkey -a MyAwesomeApp.app # (1)
@@ -45,11 +66,10 @@ crash_monkey -a build/Debug-iphonesimulator/MyAwesomeApp.app # (2)
45
66
  crash_monkey -a ~/Library/Developer/Xcode/DerivedData/MyAwesomeApp-ffumcy/Build/Products/Debug-iphonesimulator/MyAwesomeApp.app # (3)
46
67
  ```
47
68
 
48
- * (1) の指定方法では、iPhone Simulatorにインストールされているアプリで名前が一致するものを実行します。同名のものが複数ある場合は更新時刻が一番新しいものを使います
49
- * (2)(3) の指定方法では、PATHにあるアプリを実行します。ただし、iPhone Simulator用にビルドされたものじゃないと使えないので注意して下さい。
50
- * Dir名に **iphonesimulator** と入っているものが大抵そうです
51
-
69
+ * in (1) case, an application is executed which matches the app's name installed in iPhone Simulator. If there are same name apps, the app of latest updated time is used.
52
70
 
71
+ * in (2)(3) cases, an app which in the PATH is excuted. It is required that the app is built for iPhone Simlator.
72
+
53
73
 
54
74
 
55
75
  ### Options
@@ -62,29 +82,91 @@ Usage: crash_monkey [options]
62
82
  -d result_dir Where to output result(default: ./crash_monkey_result)
63
83
  -t time_limit_sec Time limit of running(default: 100 sec)
64
84
  -c config_path Configuration JSON Path
85
+ -e extend_javascript_path Extend Uiautomation Javascript for such Login scripts
65
86
  --show-config Show Current Configuration JSON
66
87
  --list-app Show List of Installed Apps in iOS Simulator
88
+ --reset-iPhone-Simulator Reset iPhone Simulator
67
89
  ```
68
90
 
69
91
 
70
92
  #### -n
71
- Monkey Testを実行する回数を指定します。
93
+ The times for monkey test excution.
72
94
 
73
95
  #### -d
74
- 結果を出力するDirを指定します。
96
+ The directory for output results.
75
97
 
76
98
  #### -t
77
- 1回のテストのTimeoutを秒で指定します。
99
+ Timeout seconds for one monkey test.
78
100
 
79
101
  #### -c
80
- UIAutomationの実行時に使うJSON形式のConfigファイルを指定します。雛形については `--show-config`オプションで取得してください。
102
+ Specify configuration file(JSON format) for UIAutomation library.
103
+ The template is shown by `--show-config` option.
104
+
105
+ #### -e
106
+ Specify extend Javascript file for UIAutomation library.
107
+ It could be used for login.([example](https://gist.github.com/jollychang/8972186))
81
108
 
82
109
  #### --show-config
83
- UIAutomationの実行時に使うConfigファイルをJSON形式で出力します。変更したい場合は、一度ファイルに保存してから変更し、 `-c` で指定してください。
110
+ Output configuration for UIAutomation library by JSON format.
84
111
 
85
112
  #### --list-app
113
+ List apps for iPhone Simulator.
114
+
115
+ #### --reset-iPhone-Simulator.
116
+ Reset iPhone Simulator.
117
+
118
+
119
+ For Jenkins
120
+ --------------
121
+
122
+ CrashMonkey has CUI interface, so easy to use from Jenkins.
123
+ There are a few notes.
124
+
125
+ ### Confirmation dialog from UIAutomation is displayed and stop tests.
126
+
127
+ The first time in the Mac CrashMonkey run, Instruments(UIAutomation) may display a confirmation dialog and require to input password.
128
+
129
+ In this case, the test can not run if the password is not entered. The following management may be valid.
130
+
131
+
132
+ * The Jenkins running User has Administration privilege.
133
+ * In case Jenkins is running as slave, launch with X like following.
134
+
135
+ ```
136
+ javaws http://<SERVER>/computer/<NodeName>/slave-agent.jnlp
137
+ ```
138
+
139
+ * The first time a Jenkins Job runs in the Mac, if the dialog is displyed then input correct password.
140
+
141
+ Other conditions may be OK, but this is also work.
142
+
143
+
144
+ Troubleshooting
145
+ -------------------
146
+
147
+ ### CASE: xcode-select is not set.
148
+
149
+
150
+ #### symptoms
151
+
152
+ ```
153
+ % crash_monkey -a MyGoodApp.app
154
+ .....
155
+ Run: ["instruments", "-l", "100000", "-t", ........... ]
156
+ xcode-select: Error: No Xcode folder is set. Run xcode-select -switch <xcode_folder_path> to set the path to the Xcode folder.
157
+ .....
158
+ ```
159
+
160
+ #### measures
161
+
162
+ Please specify the install path of Xcode by **xcode-select**.
163
+
164
+ ex)
165
+
166
+ ```
167
+ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
168
+ ```
86
169
 
87
- iPhone Simulatorにインストールされているアプリの名前の一覧を表示します。
88
170
 
89
171
 
90
172
  Contributing to CrashMonkey
data/Rakefile CHANGED
@@ -31,9 +31,17 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
31
31
  spec.pattern = FileList['spec/**/*_spec.rb']
32
32
  end
33
33
 
34
- RSpec::Core::RakeTask.new(:rcov) do |spec|
35
- spec.pattern = 'spec/**/*_spec.rb'
36
- spec.rcov = true
34
+ if RUBY_VERSION =~ /^1\.9/
35
+ desc "Code coverage detail"
36
+ task :simplecov do
37
+ ENV['COVERAGE'] = "true"
38
+ Rake::Task['spec'].execute
39
+ end
40
+ else
41
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
42
+ spec.pattern = 'spec/**/*_spec.rb'
43
+ spec.rcov = true
44
+ end
37
45
  end
38
46
 
39
47
  task :default => :spec
data/bin/crash_monkey CHANGED
@@ -14,8 +14,10 @@ ARGV.options do |o|
14
14
  o.on('-d result_dir', 'Where to output result(default: ./crash_monkey_result)') {|b| opts[:result_base_dir] = File.expand_path(b)}
15
15
  o.on('-t time_limit_sec', 'Time limit of running(default: 100 sec)') {|b| opts[:time_limit_sec] = b.to_i}
16
16
  o.on('-c config_path', 'Configuration JSON Path') {|b| opts[:config_path] = File.expand_path(b)}
17
+ o.on('-e extend_javascript_path', 'Extend Uiautomation Javascript for such Login scripts') {|b| opts[:extend_javascript_path] = File.expand_path(b)}
17
18
  o.on('--show-config', 'Show Current Configuration JSON') {|_| opts[:show_config] = true}
18
19
  o.on('--list-app', 'Show List of Installed Apps in iOS Simulator') {|_| opts[:list_app] = true}
20
+ o.on('--reset-iPhone-Simulator', 'Reset iPhone Simulator')
19
21
  o.parse!
20
22
  end
21
23
 
data/crash_monkey.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{crash_monkey}
8
- s.version = "0.1.7"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ken Morishita"]
@@ -76,7 +76,11 @@ Gem::Specification.new do |s|
76
76
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
77
77
  s.add_dependency(%q<bundler>, ["> 1.0.0"])
78
78
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
79
- s.add_dependency(%q<rcov>, [">= 0"])
79
+ if RUBY_VERSION =~ /^1\.9/ then
80
+ s.add_dependency(%q<simplecov>, [">= 0"])
81
+ else
82
+ s.add_dependency(%q<rcov>, [">= 0"])
83
+ end
80
84
  end
81
85
  else
82
86
  s.add_dependency(%q<erubis>, [">= 2.7.0"])
@@ -23,6 +23,8 @@ module UIAutoMonkey
23
23
  elsif @options[:list_app]
24
24
  list_app
25
25
  return true
26
+ elsif @options[:reset_iphone_simulator]
27
+ reset_iphone_simulator
26
28
  end
27
29
  ###########
28
30
  log @options.inspect
@@ -118,6 +120,13 @@ module UIAutoMonkey
118
120
  puts File.read(config_json_path)
119
121
  end
120
122
 
123
+ def show_extend_javascript
124
+ if @options[:extend_javascript_path]
125
+ filename = @options[:extend_javascript_path]
126
+ return File.exist?(filename), filename
127
+ end
128
+ end
129
+
121
130
  def list_app
122
131
  puts find_apps('*.app').map{|n| File.basename n}.uniq.sort.join("\n")
123
132
  end
@@ -126,6 +135,10 @@ module UIAutoMonkey
126
135
  puts msg
127
136
  end
128
137
 
138
+ def reset_iphone_simulator
139
+ `rm -rf ~/Library/Application\ Support/iPhone\ Simulator/`
140
+ end
141
+
129
142
  def total_test_count
130
143
  (@options[:run_count] || 2)
131
144
  end
@@ -206,10 +219,14 @@ module UIAutoMonkey
206
219
  end
207
220
 
208
221
  def generate_ui_auto_monkey
222
+ extend_javascript_flag, extend_javascript_path = show_extend_javascript
209
223
  orig = File.read(ui_auto_monkey_original_path)
210
224
  config = JSON.parse(File.read(config_json_path))
211
225
  replace_str = " config: #{JSON.pretty_generate(config, :indent => ' '*6)}, \n"
212
226
  js = replace_text(orig, replace_str, '__UIAutoMonkey Configuration Begin__', '__UIAutoMonkey Configuration End__')
227
+ if extend_javascript_flag
228
+ js = File.read(extend_javascript_path) + "\n" + js
229
+ end
213
230
  File.open(ui_auto_monkey_path, 'w') {|f| f.write(js)}
214
231
  end
215
232
 
metadata CHANGED
@@ -1,143 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: crash_monkey
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 7
10
- version: 0.1.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Ken Morishita
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-07-11 00:00:00 +09:00
19
- default_executable: crash_monkey
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :runtime
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 19
30
- segments:
31
- - 2
32
- - 7
33
- - 0
34
- version: 2.7.0
11
+ date: 2013-07-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
35
14
  name: erubis
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- prerelease: false
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.7.0
39
20
  type: :runtime
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 11
46
- segments:
47
- - 1
48
- - 7
49
- - 0
50
- version: 1.7.0
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.7.0
27
+ - !ruby/object:Gem::Dependency
51
28
  name: json
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.7.0
34
+ type: :runtime
54
35
  prerelease: false
55
- type: :development
56
- requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.7.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
59
45
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 47
62
- segments:
63
- - 2
64
- - 8
65
- - 0
46
+ - !ruby/object:Gem::Version
66
47
  version: 2.8.0
67
- name: rspec
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- prerelease: false
71
48
  type: :development
72
- requirement: &id004 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
75
52
  - - ~>
76
- - !ruby/object:Gem::Version
77
- hash: 31
78
- segments:
79
- - 3
80
- - 12
81
- version: "3.12"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.8.0
55
+ - !ruby/object:Gem::Dependency
82
56
  name: rdoc
83
- version_requirements: *id004
84
- - !ruby/object:Gem::Dependency
85
- prerelease: false
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.12'
86
62
  type: :development
87
- requirement: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
90
- - - ">"
91
- - !ruby/object:Gem::Version
92
- hash: 23
93
- segments:
94
- - 1
95
- - 0
96
- - 0
97
- version: 1.0.0
98
- name: bundler
99
- version_requirements: *id005
100
- - !ruby/object:Gem::Dependency
101
63
  prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '3.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: bundler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>'
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.0
102
76
  type: :development
103
- requirement: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>'
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: jeweler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
106
87
  - - ~>
107
- - !ruby/object:Gem::Version
108
- hash: 63
109
- segments:
110
- - 1
111
- - 8
112
- - 4
88
+ - !ruby/object:Gem::Version
113
89
  version: 1.8.4
114
- name: jeweler
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
- prerelease: false
118
90
  type: :development
119
- requirement: &id007 !ruby/object:Gem::Requirement
120
- none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 1.8.4
97
+ - !ruby/object:Gem::Dependency
128
98
  name: rcov
129
- version_requirements: *id007
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
130
111
  description: This is a Monkey Test Tool using UIAutomation.
131
112
  email: mokemokechicken@gmail.com
132
- executables:
113
+ executables:
133
114
  - crash_monkey
134
115
  extensions: []
135
-
136
- extra_rdoc_files:
116
+ extra_rdoc_files:
137
117
  - LICENSE.txt
138
118
  - README.md
139
119
  - README.rdoc
140
- files:
120
+ files:
141
121
  - .document
142
122
  - .rspec
143
123
  - Gemfile
@@ -169,39 +149,28 @@ files:
169
149
  - lib/ui-auto-monkey/README.md
170
150
  - lib/ui-auto-monkey/UIAutoMonkey.js
171
151
  - spec/spec_helper.rb
172
- has_rdoc: true
173
152
  homepage: https://github.com/mokemokechicken/CrashMonkey
174
- licenses:
153
+ licenses:
175
154
  - MIT
155
+ metadata: {}
176
156
  post_install_message:
177
157
  rdoc_options: []
178
-
179
- require_paths:
158
+ require_paths:
180
159
  - lib
181
- required_ruby_version: !ruby/object:Gem::Requirement
182
- none: false
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- hash: 3
187
- segments:
188
- - 0
189
- version: "0"
190
- required_rubygems_version: !ruby/object:Gem::Requirement
191
- none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- hash: 3
196
- segments:
197
- - 0
198
- version: "0"
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
199
170
  requirements: []
200
-
201
171
  rubyforge_project:
202
- rubygems_version: 1.6.2
172
+ rubygems_version: 2.0.14
203
173
  signing_key:
204
174
  specification_version: 3
205
175
  summary: Monkey Test For iOS Application
206
176
  test_files: []
207
-