From 9c0003a7925bc8e71d40dd1d207b6f73939410d7 Mon Sep 17 00:00:00 2001 From: Zhen Dong Date: Sun, 15 Dec 2019 01:24:18 +0800 Subject: [PATCH 1/5] Update README.md --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index efb5b61..a608867 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,21 @@ # docker\-android\-vm # +An Android virtual machine runs in a docker container and supports saving/restoring a state during testing. This is a general framework that powers existing Android testing techniques with time-travel testing. + +## Publication ## +``` +@InProceedings{zhendong:icse:2020, +author = {Zhen Dong, Marcel B\"ohme, Lucia Cojocaru, Abhik Roychoudhury}, +titile = {Time-travel Testing of Android Apps}, +booktitle = {Proceedings of the 42nd International Conference on Software Engineering}, +series = {ICSE '20}, +year = {2020} +} + +``` +## Instructions ## +The framework runs on Ubuntu 16.04 with docker installed. + +### build a docker image ### docker build -t zhendong/3tdroid . From 227521ab1c1e35b5a5585f4b70299ba448ca23ea Mon Sep 17 00:00:00 2001 From: Zhen Dong Date: Sun, 15 Dec 2019 01:31:56 +0800 Subject: [PATCH 2/5] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a608867..321b98d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # docker\-android\-vm # -An Android virtual machine runs in a docker container and supports saving/restoring a state during testing. This is a general framework that powers existing Android testing techniques with time-travel testing. +An Android virtual machine (Android7.2-x86) runs in a docker container and supports saving/restoring a state during testing. This is a general framework that powers existing Android testing techniques with time-travel testing. ## Publication ## ``` @@ -17,8 +17,11 @@ The framework runs on Ubuntu 16.04 with docker installed. ### build a docker image ### -docker build -t zhendong/3tdroid . +* git clone https://github.com/DroidTest/docker-android-vm.git +* cd docker-android-vm/docker +* docker build -t droidtest/android7-vm . +### Usage ### docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v /home/dz/Android_7_Exper/batch2/Fox_News.apk:/root/aut.apk:ro zhendong/3tdroid /root/3TDroid/scripts/run_monkey.sh Android_7 6666 gui 100 50 From cbefe40497d39aa42c17fffafbf8e0448e9845e6 Mon Sep 17 00:00:00 2001 From: Zhen Dong Date: Sun, 15 Dec 2019 01:41:43 +0800 Subject: [PATCH 3/5] Update README.md --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 321b98d..e53cf9c 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,15 @@ The framework runs on Ubuntu 16.04 with docker installed. * docker build -t droidtest/android7-vm . ### Usage ### + * launch a vm with GUI (default adb port: 6666) + +``` +docker run -it --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 gui +``` + +* launch a vm with headless +``` +docker run -it --privileged -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 headless +``` -docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v /home/dz/Android_7_Exper/batch2/Fox_News.apk:/root/aut.apk:ro zhendong/3tdroid /root/3TDroid/scripts/run_monkey.sh Android_7 6666 gui 100 50 From 0f1873fdb885d3f671f7e81d0827177f52725205 Mon Sep 17 00:00:00 2001 From: Zhen Dong Date: Sun, 15 Dec 2019 01:49:51 +0800 Subject: [PATCH 4/5] Update README.md --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e53cf9c..cfa4821 100644 --- a/README.md +++ b/README.md @@ -22,15 +22,21 @@ The framework runs on Ubuntu 16.04 with docker installed. * docker build -t droidtest/android7-vm . ### Usage ### - * launch a vm with GUI (default adb port: 6666) + * Launch a vm with GUI (default adb port: 6666) ``` docker run -it --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 gui ``` -* launch a vm with headless +* Launch a vm with headless ``` docker run -it --privileged -v /dev:/dev droidtest/android7-vm /root/docker-android-vm/scripts/launch_vm.sh Android_7 6666 headless ``` +* Test an app with Monkey in gui modle (delay:100ms, 100 events, $APK=local path of app under test) + +``` +docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v $APK:/root/aut.apk:ro droidtest/android7-vm /root/docker-android-vm/scripts/run_monkey.sh Android_7 6666 gui 100 100 +``` + From d9f93ad55a86e5821f5fb09a4fa3f32cfe28a121 Mon Sep 17 00:00:00 2001 From: Zhen Dong Date: Sun, 15 Dec 2019 02:13:08 +0800 Subject: [PATCH 5/5] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index cfa4821..c6def15 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,10 @@ docker run -it --privileged -v /dev:/dev droidtest/android7-vm /root/docker-and ``` docker run -it --rm --privileged -e DISPLAY=$DISPLAY --net=host -v $HOME/.Xauthority:/root/.Xauthority:rw -v /dev:/dev -v $APK:/root/aut.apk:ro droidtest/android7-vm /root/docker-android-vm/scripts/run_monkey.sh Android_7 6666 gui 100 100 ``` +* Save and restore a state after launching a vm +``` + +```