Compare commits

...
12 Commits
Author SHA1 Message Date
budtmo 0188131350 Replaced operator 2021-08-05 13:28:43 +02:00
budtmo 371a57c663 Added Android 12.0 into pipeline 2021-08-05 12:28:04 +02:00
Budi UtomoandGitHub 6d4de35602 Merge pull request #297 from JoelWhitney/android_12
Support Android 12 (API 31)
2021-08-05 12:24:47 +02:00
Joel Whitney 51158d8630 processor 2021-08-03 18:04:53 -04:00
Joel Whitney 3a7cba3dc9 x86_64 2021-08-03 17:16:21 -04:00
Joel Whitney 4bb9f044ed 12 2021-08-03 16:15:59 -04:00
budtmo 0e35dab27f Updated base image 2021-07-20 17:21:42 +02:00
Budi UtomoandGitHub 14a98aea88 Merge pull request #294 from ireneu/master
Check correctly if device exists
2021-07-20 17:17:57 +02:00
IreandGitHub 337aaf5103 Use regex to verify config 2021-07-09 14:20:52 +02:00
IreandGitHub f5e86d5806 Check correctly if device exists
config.ini has spaces around the equals sign
2021-07-09 10:56:29 +02:00
budtmo caf2cb2cd8 Fixed pip issue on Azure DevOps 2021-06-21 12:15:51 +02:00
budtmo 03f2ea256a Fixed wrong name 2021-06-21 12:10:18 +02:00
8 changed files with 36 additions and 18 deletions
+8 -7
View File
@@ -54,6 +54,7 @@ List of Docker images
|Linux|9.0|28|chrome|66.0|2.40|budtmo/docker-android-x86-9.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-9.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-9.0 "Get your own image badge on microbadger.com")|
|Linux|10.0|29|chrome|74.0|74.0.3729.6|budtmo/docker-android-x86-10.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-10.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-10.0 "Get your own image badge on microbadger.com")|
|Linux|11.0|30|chrome|83.0|83.0.4103.39|budtmo/docker-android-x86-11.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-11.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-11.0 "Get your own image badge on microbadger.com")|
|Linux|12.0|31|chrome|93.0|93.0.4577.15|budtmo/docker-android-x86-12.0|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-x86-12.0.svg)](https://microbadger.com/images/budtmo/docker-android-x86-12.0 "Get your own image badge on microbadger.com")|
|All |-|-|-|-|-|budtmo/docker-android-real-device|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-real-device.svg)](https://microbadger.com/images/budtmo/docker-android-real-device "Get your own image badge on microbadger.com")|
|All|All|All|All|All|All|budtmo/docker-android-genymotion|[![](https://images.microbadger.com/badges/image/budtmo/docker-android-genymotion.svg)](https://microbadger.com/images/budtmo/docker-android-genymotion "Get your own image badge on microbadger.com")|
@@ -115,7 +116,7 @@ Quick Start
Custom configurations
---------------------
[This document](README_CUSTOM_CONFIG.md) contains custom configurations of Docker-Android that you might need, e.g. Proxy, Changing language on fly, etc.
[This document](README_CUSTOM_CONFIG.md) contains custom configurations of Docker-Android that you might need, e.g. Proxy, Changing language on fly, etc.
Build Android project
---------------------
@@ -133,31 +134,31 @@ Docker-Android can be used for building Android project and executing its unit t
```bash
docker run -it --rm -v $PWD/testing-samples/ui/espresso/BasicSample:/tmp -w /tmp budtmo/docker-android-x86-8.1 /tmp/gradlew build
```
Control Android connected to host (Emulator or Real Device)
-----------------------------------------------------------
1. Create a docker container with this command
1. Create a docker container with this command
```
$ docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -p 4723:4723 --name android-container-appium budtmo/docker-android-real-device
```
2. Open noVNC [http://localhost:6080](http://localhost:6080)
3. Open terminal by clicking right on **noVNC** window >> **Terminal emulator**
4. To connect to host's adb (make sure your host have adb and connected to the device.)
4. To connect to host's adb (make sure your host have adb and connected to the device.)
```
$ adb -H host.docker.internal devices
```
To specify port, just add `-P port_number`
```
$ adb -H host.docker.internal -P 5037 devices
```
5. Now your container can access your host devices. But, you need to add `remoteAdbHost` and `adbPort` desired capabilities to make **Appium** can recognise those devices.
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:v1.21.0-p0
FROM appium/appium:v1.21.0-p1
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:v1.21.0-p0
FROM appium/appium:v1.21.0-p1
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:v1.21.0-p0
FROM appium/appium:v1.21.0-p1
LABEL maintainer "Budi Utomo <budtmo.os@gmail.com>"
+7
View File
@@ -30,7 +30,14 @@ jobs:
android.version: '10.0'
11.0:
android.version: '11.0'
12.0:
android.version: '12.0'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.5'
displayName: 'Use Python 3.5'
- script: |
latest_tag=$(git describe --tags --abbrev=0)
echo "##vso[task.setvariable variable=release_version]$latest_tag"
+6 -1
View File
@@ -13,8 +13,13 @@ jobs:
genymotion:
script.name: './release_real.sh'
real_device:
script.name: './release_genymotion.sh'
script.name: './release_geny.sh'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.5'
displayName: 'Use Python 3.5'
- script: |
latest_tag=$(git describe --tags --abbrev=0)
echo "##vso[task.setvariable variable=release_version]$latest_tag"
+10 -6
View File
@@ -10,7 +10,7 @@ else
fi
if [ -z "$2" ]; then
read -p "Android version (5.0.1|5.1.1|6.0|7.0|7.1.1|8.0|8.1|9.0|10.0|11.0|all): " ANDROID_VERSION
read -p "Android version (5.0.1|5.1.1|6.0|7.0|7.1.1|8.0|8.1|9.0|10.0|11.0|12.0|all): " ANDROID_VERSION
else
ANDROID_VERSION=$2
fi
@@ -32,6 +32,7 @@ declare -A list_of_levels=(
[9.0]=28
[10.0]=29
[11.0]=30
[12.0]=31
)
# The version of the Chrome browser installed on the Android emulator needs to be known beforehand
@@ -47,6 +48,7 @@ declare -A chromedriver_versions=(
[9.0]="2.40"
[10.0]="74.0.3729.6"
[11.0]="83.0.4103.39"
[12.0]="93.0.4577.15"
)
function get_android_versions() {
@@ -66,7 +68,7 @@ function get_android_versions() {
# If version cannot be found in the list
if [ -z "$versions" ]; then
echo "Android version \"$ANDROID_VERSION\" is not found in the list or not supported! Support only version 5.0.1, 5.1.1, 6.0, 7.0, 7.1.1, 8.0, 8.1"
echo "Android version \"$ANDROID_VERSION\" is not found in the list or not supported! Support only version 5.0.1, 5.1.1, 6.0, 7.0, 7.1.1, 8.0, 8.1, 9.0, 10.0, 11.0, 12.0"
exit 1
fi
@@ -141,6 +143,8 @@ function build() {
FILE_NAME=docker/Emulator_x86
for v in "${versions[@]}"; do
level=${list_of_levels[$v]}
# Find image type and default web browser
if [ "$v" == "5.0.1" ] || [ "$v" == "5.1.1" ]; then
IMG_TYPE=default
@@ -151,17 +155,17 @@ function build() {
BROWSER=browser
elif [ "$v" == "" ]; then
IMG_TYPE=google_apis
BROWSER=chrome
BROWSER=chrome
else
#adb root cannot be run in IMG_TYPE=google_apis_playstore
#adb root cannot be run in IMG_TYPE=google_apis_playstore
IMG_TYPE=google_apis
BROWSER=chrome
if [ "$v" == "9.0" ]; then
# Google dropped 32-bit support at Android 12
if [ "$v" == "9.0" ] || [ $level -ge 31 ]; then
processor=x86_64
fi
fi
echo "[BUILD] IMAGE TYPE: $IMG_TYPE"
level=${list_of_levels[$v]}
echo "[BUILD] API Level: $level"
sys_img=$processor
echo "[BUILD] System Image: $sys_img"
+2 -1
View File
@@ -3,6 +3,7 @@
import json
import logging
import os
import re
import subprocess
import uuid
@@ -56,7 +57,7 @@ def is_initialized(device_name) -> bool:
if os.path.exists(config_path):
logger.info('Found existing config file at {}.'.format(config_path))
with open(config_path, 'r') as f:
if any('hw.device.name={}'.format(device_name) in line for line in f):
if any(re.match(r'hw\.device\.name ?= ?{}'.format(device_name), line) for line in f):
logger.info('Existing config file references {}. Assuming device was previously initialized.'.format(device_name))
return True
else: