mirror of
https://github.com/budtmo/docker-android.git
synced 2026-07-31 04:07:25 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13bd9611d7 | ||
|
|
9d5ab2dbe1 | ||
|
|
9a5f560a73 | ||
|
|
c1538606d2 | ||
|
|
e706fedd12 | ||
|
|
4eb85fbf28 | ||
|
|
64b922c734 | ||
|
|
c8ec687300 | ||
|
|
4feb3a1c08 | ||
|
|
cb87d43aab | ||
|
|
d4e7a95a8c | ||
|
|
72418957d5 | ||
|
|
725138794b | ||
|
|
92a5487df3 | ||
|
|
0a026decdc | ||
|
|
01d12a2263 | ||
|
|
92a406e3ba | ||
|
|
56c8deedd2 | ||
|
|
7a4933c63a | ||
|
|
e268a43141 | ||
|
|
87bebdf4ea | ||
|
|
52642214ed | ||
|
|
f0985a3898 |
@@ -13,7 +13,7 @@ jobs:
|
||||
python-version: ["3.8"]
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
needs: run_test
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Get release version
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
android: ["9.0", "10.0", "11.0", "12.0", "13.0"]
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Get release version
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
needs: release_base
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Get release version
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout the repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build base image
|
||||
run: script -e -c "./app.sh build base test"
|
||||
|
||||
@@ -73,6 +73,37 @@ Quick Start
|
||||
docker exec -it android-container cat device_status
|
||||
```
|
||||
|
||||
WSL2 Hardware acceleration (Windows 11 only)
|
||||
-----------
|
||||
|
||||
Credit goes to [Guillaume - The Parallel Interface blog](https://www.paralint.com/2022/11/find-new-modified-and-unversioned-subversion-files-on-windows)
|
||||
|
||||
[Microsoft - Advanced settings configuration in WSL](https://learn.microsoft.com/en-us/windows/wsl/wsl-config)
|
||||
|
||||
|
||||
1. Add yourself to the `kvm` usergroup.
|
||||
```
|
||||
sudo usermod -a -G kvm ${USER}
|
||||
```
|
||||
|
||||
2. Add necessary flags to `/etc/wsl2.conf` to their respective sections.
|
||||
```
|
||||
[boot]
|
||||
command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'
|
||||
|
||||
[wsl2]
|
||||
nestedVirtualization=true
|
||||
```
|
||||
3. Restart WSL2 via CMD prompt or Powershell
|
||||
```
|
||||
wsl --shutdown
|
||||
```
|
||||
|
||||
|
||||
`command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'` sets `/dev/kvm` to `kvm` usergroup rather than the default `root` usergroup on WSL2 startup.
|
||||
|
||||
`nestedVirtualization` flag is only available to Windows 11.
|
||||
|
||||
Use-Cases
|
||||
---------
|
||||
|
||||
@@ -124,6 +155,7 @@ The differences between normal version and pro version are:
|
||||
|language|No|Yes|Set up language on Android emulator on fly|
|
||||
|root-privileged|No|Yes|Able to run command with security privileged|
|
||||
|headless-mode|No|Yes|Save resources by using headless mode|
|
||||
|Selenium 4.x integration|No|Yes|Running Appium UI-Tests againt one (Selenium Hub) endpoint for Android- and iOS emulator(s) / device(s)|
|
||||
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
||||
|Google Play Store|No|Yes (soon)|-|
|
||||
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
||||
|
||||
@@ -27,7 +27,7 @@ fi
|
||||
is_str_in_list ${p} ${projects[@]}
|
||||
|
||||
if [ -z "${3}" ]; then
|
||||
read -p "Release Version (v2.0-p0|v2.0-p1|etc) : " r_v
|
||||
read -p "Release Version (v2.0.0-p0|v2.0.0-p1|etc) : " r_v
|
||||
else
|
||||
r_v=${3}
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
autopep8==2.0.2
|
||||
click==8.1.5
|
||||
coverage==7.2.7
|
||||
autopep8==2.0.4
|
||||
click==8.1.7
|
||||
coverage==7.3.1
|
||||
mock==5.1.0
|
||||
nose==1.3.7
|
||||
requests==2.31.0
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
FROM appium/appium:v2.0.0-p0
|
||||
FROM appium/appium:v2.1.3-p1
|
||||
|
||||
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ The differences between normal version and pro version are:
|
||||
|language|No|Yes|Set up language on Android emulator on fly|
|
||||
|root-privileged|No|Yes|Able to run command with security privileged|
|
||||
|headless-mode|No|Yes|Save resources by using headless mode|
|
||||
|Selenium 4.x integration|No|Yes|Running Appium UI-Tests againt one (Selenium Hub) endpoint for Android- and iOS emulator(s) / device(s)|
|
||||
|multiple Android-Simulators|No|Yes (soon)|Save resources by having multiple Android-Simulators on one docker-container|
|
||||
|Google Play Store|No|Yes (soon)|-|
|
||||
|Video Recording|No|Yes (soon)|Helpful for debugging|
|
||||
@@ -31,10 +32,11 @@ List of Docker-Images
|
||||
|11.0|30|Headless|budtmo2/docker-android-pro:emulator_headless_11.0|budtmo2/docker-android-pro:emulator_headless_11.0_<release_version>|
|
||||
|12.0|32|Headless|budtmo2/docker-android-pro:emulator_headless_12.0|budtmo2/docker-android-pro:emulator_headless_12.0_<release_version>|
|
||||
|13.0|33|Headless|budtmo2/docker-android-pro:emulator_headless_13.0|budtmo2/docker-android-pro:emulator_headless_13.0_<release_version>|
|
||||
|-|-|Selenium|budtmo2/docker-android-pro:selenium|budtmo2/docker-android-pro:selenium_<release_version>|
|
||||
|
||||
***Note: Headless mode does not have any Web-UI***
|
||||
|
||||
You can always pull the latest image tag. In case you want to see the release version that has been built with a changelog note and use that specific release version, ythe information will be sent to you as well.
|
||||
You can always pull the latest image tag. In case you want to see the release version that has been built with a changelog note and use that specific release version, the information will be sent to you as well.
|
||||
|
||||
|
||||
List of Devices
|
||||
@@ -77,9 +79,13 @@ You can change the language setting of Android Emulator on the fly by passing fo
|
||||
- EMULATOR_COUNTRY="\<country>"
|
||||
|
||||
|
||||
Version
|
||||
-------
|
||||
Selenium
|
||||
--------
|
||||
|
||||
Pull and run image that contains Selenium with Appium urls and its capabilities which is stored inside node.json file:
|
||||
|
||||
```
|
||||
docker run -t --rm --name selenium -p 4444:4444 -v $PWD/pro-example/node.json:/home/seleniumusr/selenium_node_config/node.json budtmo2/docker-android-pro:selenium
|
||||
```
|
||||
|
||||
[<- BACK TO README](../README.md)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
"appium_url": "http://xx.xx.xx.xx:4723",
|
||||
"capability_platform": "android",
|
||||
"capability_platform_version": "11.0",
|
||||
"capability_device_name": "samsung_galaxy_s6_11.0",
|
||||
"capability_automation_name": "UIAutomator2"
|
||||
},
|
||||
{
|
||||
"appium_url": "http://xx.xx.xx.xx:4724",
|
||||
"capability_platform": "android",
|
||||
"capability_platform_version": "10.0",
|
||||
"capability_device_name": "nexus_5_10.0",
|
||||
"capability_automation_name": "UIAutomator2"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user