Automated Installation of an .apk from the Google Play Store
I'm writing some end-to-end tests of an Android-TV-App using Python and my own implementation of the ADB-Protocol. This works fine so far, I can send commands, get ui-dumps ect.
However, since the app is only available on the Google Play Store (I don't have access to any source code) and I want to update the version of the app every week, I'm wondering how I can do this using ADB.
I thought about following solutions:
- Send key events to open play store on the device and navigate to to the installation / update page of the app.
- Download the app somehow to the Testmachine and push it to the device by ADB.
- Use ADB to directly install a new version of the app on the device.
Whats "best practice" on this and how should i solve my problem?
android testing apk adb android-tv
add a comment |
I'm writing some end-to-end tests of an Android-TV-App using Python and my own implementation of the ADB-Protocol. This works fine so far, I can send commands, get ui-dumps ect.
However, since the app is only available on the Google Play Store (I don't have access to any source code) and I want to update the version of the app every week, I'm wondering how I can do this using ADB.
I thought about following solutions:
- Send key events to open play store on the device and navigate to to the installation / update page of the app.
- Download the app somehow to the Testmachine and push it to the device by ADB.
- Use ADB to directly install a new version of the app on the device.
Whats "best practice" on this and how should i solve my problem?
android testing apk adb android-tv
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55
add a comment |
I'm writing some end-to-end tests of an Android-TV-App using Python and my own implementation of the ADB-Protocol. This works fine so far, I can send commands, get ui-dumps ect.
However, since the app is only available on the Google Play Store (I don't have access to any source code) and I want to update the version of the app every week, I'm wondering how I can do this using ADB.
I thought about following solutions:
- Send key events to open play store on the device and navigate to to the installation / update page of the app.
- Download the app somehow to the Testmachine and push it to the device by ADB.
- Use ADB to directly install a new version of the app on the device.
Whats "best practice" on this and how should i solve my problem?
android testing apk adb android-tv
I'm writing some end-to-end tests of an Android-TV-App using Python and my own implementation of the ADB-Protocol. This works fine so far, I can send commands, get ui-dumps ect.
However, since the app is only available on the Google Play Store (I don't have access to any source code) and I want to update the version of the app every week, I'm wondering how I can do this using ADB.
I thought about following solutions:
- Send key events to open play store on the device and navigate to to the installation / update page of the app.
- Download the app somehow to the Testmachine and push it to the device by ADB.
- Use ADB to directly install a new version of the app on the device.
Whats "best practice" on this and how should i solve my problem?
android testing apk adb android-tv
android testing apk adb android-tv
asked Nov 5 '18 at 15:20
Tobias von FalkenhaynTobias von Falkenhayn
141116
141116
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55
add a comment |
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55
add a comment |
1 Answer
1
active
oldest
votes
Here is how I would have done it.
1.First open the app page in playstore
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'
2.Then send touch on the install/update button.
adb shell input tap <x> <y> (Default: touchscreen)
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53157208%2fautomated-installation-of-an-apk-from-the-google-play-store%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here is how I would have done it.
1.First open the app page in playstore
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'
2.Then send touch on the install/update button.
adb shell input tap <x> <y> (Default: touchscreen)
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
add a comment |
Here is how I would have done it.
1.First open the app page in playstore
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'
2.Then send touch on the install/update button.
adb shell input tap <x> <y> (Default: touchscreen)
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
add a comment |
Here is how I would have done it.
1.First open the app page in playstore
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'
2.Then send touch on the install/update button.
adb shell input tap <x> <y> (Default: touchscreen)
Here is how I would have done it.
1.First open the app page in playstore
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.yourpackagename'
2.Then send touch on the install/update button.
adb shell input tap <x> <y> (Default: touchscreen)
edited Nov 13 '18 at 11:53
answered Nov 6 '18 at 14:22
royatirekroyatirek
372515
372515
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
add a comment |
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
not tap command found
– Nikunj Patel
Nov 13 '18 at 10:42
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
yeah it is input tap. Edited it.
– royatirek
Nov 13 '18 at 11:53
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53157208%2fautomated-installation-of-an-apk-from-the-google-play-store%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Hey, have you found the answer? Any problem you are facing as per the my answer.
– royatirek
Nov 16 '18 at 13:12
hi @royatirek, thanks for your answer, but this wasn't originally what i've looked for, since i already described in point 1 that this was an option but doesn't seem optimal to me.
– Tobias von Falkenhayn
Nov 16 '18 at 13:31
Do you need a small code or the code that takes few second to update your app? Or Do you want to test on different machines with different screen resolution?
– royatirek
Nov 16 '18 at 13:43
yeah i want to do it actually without any screen connected to the box
– Tobias von Falkenhayn
Nov 16 '18 at 13:55