- 최신
- 최다 투표
- 가장 많은 댓글
Hi
What device Farm does internally is that , it takes the yaml file and construct a shell script from it.
It then executes this shell scripts as a bash shell script.
/bin/bash script.sh
You can download the script form the artifacts section of your job.
There would be a file named "Test spec shell script"
printf ./custom.keystore\nsomePassword\nsomeAlias\n | bundle exec calabash-android setup
The reason \n is getting ignored is because bash shell treats \ as a special character. So you need to double escape it (\). However i tried escaping it but it then gets the same error as reported by you
noecho': Inappropriate ioctl for device (Errno::ENOTTY)
SO workaround for this is
What "bundle exec calabash-android setup" does is it creates a ".calabash_settings" file in current directory . So u can create this file in current directory with below content
{"keystore_location":"./internal.keystore","keystore_password":"somePassword","keystore_alias":"someAlias"}
So u can package the ".calabash_settings" in your test package zip, u dont have to run the above command
important Note
I noticed in your yaml file that you are running the commands
- printf 'keyPassword\n' | bundle exec calabash-android resign unittest.apk
- printf 'keyPassword\n' | bundle exec calabash-android build unittest.apk
As told above, make sure you double escape the \
So command will become
-
printf 'keyPassword\n' | bundle exec calabash-android resign unittest.apk
-
printf 'keyPassword\n' | bundle exec calabash-android build unittest.apk
Also i noticed that your zip has internal.keystore but the forum post command u pasted above says custom.keystore. make sure you are using the correct name
Let us know if you run into any problems.
I will suggest that you create a local Ruby environment using gemset and replicate the exact command on your local environment which you plan to run inside the yaml file.This will help you debug problems faster
Looks like some of the content in the last post did not properly got rendered. When i said you need to double scape it, replace backslash everywhere with two backslashes
Edited by: Anurag@AWS on Jan 15, 2019 2:52 PM
관련 콘텐츠
- AWS 공식업데이트됨 2년 전