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.
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
So u can package the ".calabash_settings" in your test package zip, u dont have to run the above command
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 Device Farm can not get the correct app activity for Android app to launch app using Appiumasked a year ago
How to assign same custom domain to my amplify app and the API gateway that it usesasked 6 months ago
Calabash-android with Appium Ruby sign app with custom keystoreasked 4 years ago
Change Sign-up link of cognito to Custom URLasked 8 months ago
How to customise the Cognito OIDC Sign-In prompt?asked 7 months ago
How best to build custom Cognito login pages for use with a server-side app?Accepted Answerasked 3 years ago
Sign In with Apple not sending attributes for users who have previously signed inasked 4 months ago
Device Farm: Appium iOS test never launches app, WebdriverAgent shows error "Failed to get automation session"asked a year ago
App activity is never started the app is running on the screen recordasked 2 years ago
MSK Connect support jks keystore location ?asked a month ago