testautoi 0.9.144 → 0.9.145
Sign up to get free protection for your applications and to get access to all the features.
data/bin/calabash-ios-setup.rb
CHANGED
@@ -25,6 +25,8 @@ end
|
|
25
25
|
def calabash_setup(args)
|
26
26
|
puts "Checking if Xcode is running..."
|
27
27
|
res = `ps x -o pid,command | grep -v grep | grep Contents/MacOS/Xcode`
|
28
|
+
puts "Skip checking"
|
29
|
+
res = ""
|
28
30
|
if res==""
|
29
31
|
puts "Xcode not running."
|
30
32
|
project_name, project_path, xpath = find_project_files(args)
|
data/bin/testautoi
CHANGED
@@ -114,6 +114,8 @@ def run(option)
|
|
114
114
|
env = {}
|
115
115
|
env['CALABASH_NO_DEPRECATION'] = '1'
|
116
116
|
env["APP_BUNDLE_PATH"] = File.join(FileUtils.pwd, app_bundle)
|
117
|
+
env["APP_NAME"] = app_bundle_name(env["APP_BUNDLE_PATH"])
|
118
|
+
env["APP_VERSION"] = app_bundle_version(env["APP_BUNDLE_PATH"])
|
117
119
|
if device_udid == ''
|
118
120
|
# Use a Simulator
|
119
121
|
#Calabash::Cucumber::SimulatorHelper.relaunch(env["APP_BUNDLE_PATH"], @settings["sim_version"], @settings["sim_device"])
|
@@ -153,6 +155,9 @@ def run(option)
|
|
153
155
|
if device_ipaddr != ''
|
154
156
|
env["DEVICE_ENDPOINT"] = "http://#{device_ipaddr}:37265"
|
155
157
|
end
|
158
|
+
if File.exists?(File.join(FileUtils.pwd, "build_drop_dir.txt"))
|
159
|
+
env["BUILD_DROP_DIR"] = IO.read(File.join(FileUtils.pwd, "build_drop_dir.txt"))
|
160
|
+
end
|
156
161
|
result = system(env, cmd)
|
157
162
|
sleep(1)
|
158
163
|
result
|
@@ -312,27 +317,52 @@ def get_build(version, sim)
|
|
312
317
|
end
|
313
318
|
end
|
314
319
|
else
|
320
|
+
home_path = ENV['HOME'] || ENV['HOMEPATH']
|
315
321
|
app_bundle = @settings["app_bundle"]
|
316
322
|
sim = (sim == 'sim')?"Emulator":"Device"
|
317
323
|
if version == 'trunk'
|
318
324
|
# copy the trunk build
|
319
325
|
release_path = File.join(mount_node, @settings["build_drop_trunk_dir"], "Instrumented", "ConcurMobile-cal", sim)
|
326
|
+
cache_path = File.join(home_path, @settings["build_drop_trunk_dir"], "Instrumented", "ConcurMobile-cal", sim)
|
320
327
|
else
|
321
328
|
# copy the version build
|
322
329
|
release_path = File.join(mount_node, @settings["build_drop_branch_dir"], "iPhone#{version}", "Instrumented", "ConcurMobile-cal", sim)
|
330
|
+
cache_path = File.join(home_path, @settings["build_drop_branch_dir"], "iPhone#{version}", "Instrumented", "ConcurMobile-cal", sim)
|
323
331
|
if not File.directory?(release_path)
|
324
332
|
release_path = File.join(mount_node, @settings["build_drop_branch_dir"], "iOSCorp#{version}", "Instrumented", "ConcurMobile-cal", sim)
|
333
|
+
cache_path = File.join(home_path, @settings["build_drop_branch_dir"], "iOSCorp#{version}", "Instrumented", "ConcurMobile-cal", sim)
|
325
334
|
end
|
326
335
|
end
|
327
336
|
raise "No builds found in #{release_path}" unless File.directory?(release_path)
|
328
|
-
|
337
|
+
|
338
|
+
build_dirs = Dir.entries(release_path).reject{|d|d.start_with?('.')}.sort_by{|c| File.stat(File.join(release_path,c)).ctime}
|
339
|
+
|
340
|
+
build_dir = nil
|
341
|
+
zip_file = nil
|
342
|
+
begin
|
343
|
+
raise "No builds found in #{release_path}" if build_dirs.size == 0
|
344
|
+
if File.exists?(File.join(release_path, build_dirs.last, build_dirs.last + ".zip"))
|
345
|
+
build_dir = build_dirs.last
|
346
|
+
zip_file = build_dir + ".zip"
|
347
|
+
else
|
348
|
+
build_dirs.pop
|
349
|
+
end
|
350
|
+
end while build_dir == nil
|
351
|
+
|
329
352
|
raise "No builds found in #{release_path}" if build_dir == nil
|
330
|
-
|
331
|
-
source = File.join(
|
353
|
+
|
354
|
+
source = File.join(cache_path, build_dir, zip_file)
|
355
|
+
if not File.exists?(source)
|
356
|
+
release_source = File.join(release_path, build_dir, zip_file)
|
357
|
+
FileUtils.mkdir_p(File.dirname(source))
|
358
|
+
FileUtils.copy(release_source, source)
|
359
|
+
puts "Copy the build from #{release_source} to #{source}"
|
360
|
+
end
|
332
361
|
raise "the file '#{source}' does not exist" if not File.exists?(source)
|
333
362
|
dest = File.join(FileUtils.pwd, zip_file)
|
334
363
|
FileUtils.copy(source, dest)
|
335
364
|
puts "Copy the build from #{source}"
|
365
|
+
File.open(File.join(FileUtils.pwd, "build_drop_dir.txt"), 'w') {|f| f.write(build_dir) }
|
336
366
|
filenames = unzip_file(dest, FileUtils.pwd)
|
337
367
|
FileUtils.rm_rf(File.join(FileUtils.pwd, app_bundle))
|
338
368
|
FileUtils.cp_r(filenames.find{|e| File.basename(e) == app_bundle}, FileUtils.pwd)
|
@@ -341,18 +371,18 @@ def get_build(version, sim)
|
|
341
371
|
smb_disconnect(mount_node)
|
342
372
|
end
|
343
373
|
|
344
|
-
def get_script
|
374
|
+
def get_script(name)
|
345
375
|
svn_location = @settings["svn_location"]
|
346
376
|
svn_location += '/' unless svn_location.end_with?('/')
|
347
377
|
username = @settings["svn_username"]
|
348
378
|
password = @settings["svn_password"]
|
349
379
|
uri = URI.join(svn_location, "Mobile/", "BVT/", "CTE/")
|
350
380
|
|
351
|
-
if
|
381
|
+
if name == 'list'
|
352
382
|
puts `svn list #{uri} --username #{username} --password #{password}`
|
353
383
|
else
|
354
|
-
feature =
|
355
|
-
feature += '/' unless
|
384
|
+
feature = name
|
385
|
+
feature += '/' unless name.end_with?('/')
|
356
386
|
uri = URI.join(uri, feature)
|
357
387
|
puts `svn export --force #{uri} features --username #{username} --password #{password}`
|
358
388
|
|
@@ -423,6 +453,19 @@ def app_bundle_path
|
|
423
453
|
File.join(FileUtils.pwd, @settings["app_bundle"])
|
424
454
|
end
|
425
455
|
|
456
|
+
def app_bundle_name(app_bundle)
|
457
|
+
plist = CFPropertyList::List.new(:file => File.join(app_bundle, "Info.plist"))
|
458
|
+
hash = CFPropertyList.native_types(plist.value)
|
459
|
+
hash["CFBundleName"]
|
460
|
+
end
|
461
|
+
|
462
|
+
def app_bundle_version(app_bundle)
|
463
|
+
plist = CFPropertyList::List.new(:file => File.join(app_bundle, "Info.plist"))
|
464
|
+
hash = CFPropertyList.native_types(plist.value)
|
465
|
+
hash["CFBundleVersion"]
|
466
|
+
#hash["CFBundleShortVersionString"]
|
467
|
+
end
|
468
|
+
|
426
469
|
def app_bundle_id(app_bundle)
|
427
470
|
plist = CFPropertyList::List.new(:file => File.join(app_bundle, "Info.plist"))
|
428
471
|
hash = CFPropertyList.native_types(plist.value)
|
@@ -671,7 +714,7 @@ elsif cmd == 'getbuild'
|
|
671
714
|
|
672
715
|
elsif cmd == 'getscript'
|
673
716
|
read_settings
|
674
|
-
get_script
|
717
|
+
get_script(ARGV.shift)
|
675
718
|
exit 0
|
676
719
|
|
677
720
|
elsif cmd == 'getsource'
|
@@ -742,7 +785,7 @@ elsif cmd == 'sim'
|
|
742
785
|
sim_add_photo(file)
|
743
786
|
end
|
744
787
|
exit 0
|
745
|
-
|
788
|
+
|
746
789
|
elsif cmd == 'run' or cmd == 'console'
|
747
790
|
read_settings
|
748
791
|
run(cmd)
|
@@ -120,18 +120,17 @@ end
|
|
120
120
|
|
121
121
|
Then /^I type "([^\"]*)" into the "([^\"]*)" (?:text|input) field$/ do |text_to_type, field_name|
|
122
122
|
tap(field_name)
|
123
|
-
|
123
|
+
await_keyboard()
|
124
|
+
sleep(STEP_PAUSE)
|
124
125
|
keyboard_enter_text(text_to_type)
|
125
126
|
sleep(STEP_PAUSE)
|
126
127
|
end
|
127
128
|
|
128
129
|
Then /^I type "([^\"]*)" into (?:input|text) field number (\d+)$/ do |text_to_type, index|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
keyboard_enter_text(text_to_type)
|
134
|
-
sleep(STEP_PAUSE)
|
130
|
+
macro %Q|I touch text field number #{index}|
|
131
|
+
await_keyboard()
|
132
|
+
keyboard_enter_text(text_to_type)
|
133
|
+
sleep(STEP_PAUSE)
|
135
134
|
end
|
136
135
|
|
137
136
|
# alias
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testautoi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.145
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cucumber
|