snapshot 1.7.0 → 1.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2bfb5b368926119bc4632fb4621c5c0cec9ff2c4
4
- data.tar.gz: 8045f7a9167e3cef5b8fa19231c3dd16dfd31b31
3
+ metadata.gz: 0c1cb159338beb8967f7503b11f5a681521b40fd
4
+ data.tar.gz: 37d155a06363fe901d234027b6407b3a18eda291
5
5
  SHA512:
6
- metadata.gz: 60fce8fd07f9784372473296ab2106f83a4db5855acd1a887869b751fd504d39c4e512dfc96e0535182a9267e7cd1e133b22af43227d9363e309205265709f65
7
- data.tar.gz: 683460e6eba4fe459133f0ed94c563b7c6b86be798566541e30cf1b6622bf26479633c24b12588ee73305e094aa4a4437580a9dc44b5c731712f8e0e423357fc
6
+ metadata.gz: ccee926d0e221f8499e2fd7ea0b7a966fc8fd5386927f7ba08125495b7e0ff3e464e2222882f7dde62fe4ee468c6d558804eb4d2505d23e1369000d6b915d0c2
7
+ data.tar.gz: fc7df18a95b939451ecea39cffaf7805f8403b0e0807b0425cc50381edafd2e90fc88b48ed15952d12fad4da759038219e8228b68b225970396cd84bfeededeb
data/README.md CHANGED
@@ -207,6 +207,12 @@ By default `snapshot` automatically retries running UI Tests if they fail. This
207
207
  snapshot --number_of_retries 3
208
208
  ```
209
209
 
210
+ Add photos and/or videos to the simulator before running `snapshot`
211
+
212
+ ```sh
213
+ snapshot --add_photos MyTestApp/Assets/demo.jpg --add_videos MyTestApp/Assets/demo.mp4
214
+ ```
215
+
210
216
  For a list for all available options run
211
217
 
212
218
  ```sh
@@ -248,6 +254,9 @@ launch_arguments("-username Felix")
248
254
  output_directory './screenshots'
249
255
 
250
256
  clear_previous_screenshots true
257
+
258
+ add_photos ["MyTestApp/Assets/demo.jpg"]
259
+
251
260
  ```
252
261
 
253
262
  ### Completely reset all simulators
@@ -77,12 +77,29 @@ module Snapshot
77
77
  description: "Enabling this option will automatically uninstall the application before running it",
78
78
  default_value: false,
79
79
  is_string: false),
80
+ FastlaneCore::ConfigItem.new(key: :erase_simulator,
81
+ env_name: 'SNAPSHOT_ERASE_SIMULATOR',
82
+ description: "Enabling this option will automatically erase the simulator before running the application",
83
+ default_value: false,
84
+ is_string: false),
80
85
  FastlaneCore::ConfigItem.new(key: :app_identifier,
81
86
  env_name: 'SNAPSHOT_APP_IDENTIFIER',
82
87
  short_option: "-a",
83
88
  optional: true,
84
89
  description: "The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)",
85
90
  default_value: ENV["SNAPSHOT_APP_IDENTITIFER"] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
91
+ FastlaneCore::ConfigItem.new(key: :add_photos,
92
+ env_name: 'SNAPSHOT_PHOTOS',
93
+ short_option: "-j",
94
+ description: "A list of photos that should be added to the simulator before running the application",
95
+ type: Array,
96
+ optional: true),
97
+ FastlaneCore::ConfigItem.new(key: :add_videos,
98
+ env_name: 'SNAPSHOT_VIDEOS',
99
+ short_option: "-u",
100
+ description: "A list of videos that should be added to the simulator before running the application",
101
+ type: Array,
102
+ optional: true),
86
103
 
87
104
  # Everything around building
88
105
  FastlaneCore::ConfigItem.new(key: :buildlog_path,
@@ -18,6 +18,8 @@ module Snapshot
18
18
  sleep 3 # to be sure the user sees this, as compiling clears the screen
19
19
  end
20
20
 
21
+ Snapshot.config[:output_directory] = File.expand_path(Snapshot.config[:output_directory])
22
+
21
23
  verify_helper_is_current
22
24
 
23
25
  FastlaneCore::PrintTable.print_values(config: Snapshot.config, hide_keys: [], title: "Summary for snapshot #{Snapshot::VERSION}")
@@ -116,7 +118,15 @@ module Snapshot
116
118
  Snapshot.kill_simulator # because of https://github.com/fastlane/snapshot/issues/337
117
119
  `xcrun simctl shutdown booted &> /dev/null`
118
120
 
119
- uninstall_app(device_type) if Snapshot.config[:reinstall_app]
121
+ if Snapshot.config[:erase_simulator]
122
+ erase_simulator(device_type)
123
+ elsif Snapshot.config[:reinstall_app]
124
+ # no need to reinstall if device has been erased
125
+ uninstall_app(device_type)
126
+ end
127
+
128
+ add_media(device_type, :photo, Snapshot.config[:add_photos]) if Snapshot.config[:add_photos]
129
+ add_media(device_type, :video, Snapshot.config[:add_videos]) if Snapshot.config[:add_videos]
120
130
 
121
131
  command = TestCommandGenerator.generate(device_type: device_type)
122
132
 
@@ -167,6 +177,30 @@ module Snapshot
167
177
  Helper.backticks("xcrun simctl uninstall #{device_udid} #{Snapshot.config[:app_identifier]} &> /dev/null")
168
178
  end
169
179
 
180
+ def erase_simulator(device_type)
181
+ Helper.log.debug "Erasing #{device_type}..."
182
+ device_udid = TestCommandGenerator.device_udid(device_type)
183
+
184
+ Helper.log.info "Erasing #{device_type}...".yellow
185
+
186
+ `xcrun simctl erase #{device_udid} &> /dev/null`
187
+ end
188
+
189
+ def add_media(device_type, media_type, paths)
190
+ media_type = media_type.to_s
191
+
192
+ UI.verbose "Adding #{media_type}s to #{device_type}..."
193
+ device_udid = TestCommandGenerator.device_udid(device_type)
194
+
195
+ UI.message "Launch Simulator #{device_type}"
196
+ Helper.backticks("xcrun instruments -w #{device_udid} &> /dev/null")
197
+
198
+ paths.each do |path|
199
+ UI.message "Adding '#{path}'"
200
+ Helper.backticks("xcrun simctl add#{media_type} #{device_udid} #{path.shellescape} &> /dev/null")
201
+ end
202
+ end
203
+
170
204
  def clear_previous_screenshots
171
205
  UI.important "Clearing previously generated screenshots"
172
206
  path = File.join(".", Snapshot.config[:output_directory], "*", "*.png")
@@ -1,4 +1,4 @@
1
1
  module Snapshot
2
- VERSION = "1.7.0"
2
+ VERSION = "1.8.0"
3
3
  DESCRIPTION = "Automate taking localized screenshots of your iOS app on every device"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-09 00:00:00.000000000 Z
11
+ date: 2016-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastimage