App 自動化測試(三)ReDroid 安裝與基本使用

App 自動化測試(三)ReDroid 安裝與基本使用

更新於 發佈於 閱讀時間約 6 分鐘

前言

前兩篇把作業系統跟 Docker 安裝講完了,接下來就是 Android 容器的安裝了,這裡選用 ReDroid ,因為它是開源、高效、又便於管理的方案。

大部分想法由是受以下文章激發,不過有把流程改成適合 Ubuntu 的版本:
ReDroid教學:用Docker跑Android系統,在x86電腦玩ARM手機遊戲 | Ivon的部落格 (ivonblog.com)

輔助程式安裝與設定

動態核心模組載入

$ sudo apt install linux-modules-extra-`uname -r`
$ sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"
$ sudo modprobe ashmem_linux
$ lsmod
Module Size Used by
ashmem_linux 20480 0
binder_linux 208896 0

以上動作是每次開機都要做一次,如果之後想讓它每次開機都自動載入,可以追加以下指令:(請先sudo su 變換成 root 執行之後的指令)

$ sudo su
root$ echo "binder_linux" > /etc/modules-load.d/redroid.conf
root$ echo "ashmem_linux" >> /etc/modules-load.d/redroid.conf
root$ echo 'options binder_linux devices="binder,hwbinder,vndbinder"' >> /etc/modprobe.d/redroid.conf
root@osboxes:/etc/modules-load.d# cat redroid.conf
binder_linux
ashmem_linux
options binder_linux devices="binder,hwbinder,vndbinder"
root$ exit
$

ADB (android debug bridge) 安裝

sudo apt-get install adb -y

scrcpy (Screen Copy) 遠端裝置桌面連線程式

參考文件:scrcpy/linux.md at master · Genymobile/scrcpy · GitHub

sudo apt install scrcpy -y

決定 Android 版本並下載

在 ReDroid 的頁面說支援 8-13 的版本,不過親測只有 10 / 11 可以順利開啟看到畫面,其他版本如果大家有試出來也請分享一下作法。

下載並執行 Android 11 的容器

sudo docker run -itd --privileged     --pull always     -v ~/data11:/data     -p 5555:5555     redroid/redroid:11.0.0-latest

以上指令會把容器下載並把解開的資料放在家目錄下的 ~/data11 中

可以透過 sudo docker ps 確認(CONTAINER ID是隨機的一定不一樣)

$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a5a2aa9c7fd redroid/redroid:11.0.0-latest "/init qemu=1 androi…" 26 seconds ago Up 24 seconds 0.0.0.0:5555->5555/tcp, :::5555->5555/tcp gifted_shtern


連接裝置畫面

啟動 ADB 服務

adb connect localhost:5555

確認裝置狀態

$ adb devices
List of devices attached
localhost:5555 device

開啟遠端畫面

scrcpy -s localhost:5555

Android 11 基本使用

連進去之後看到空蕩蕩的 Android 可能有點傻眼,但其實是完整的系統,除了 Google 全家桶之外。

以下羅列常見的操作

  • 檢視應用程式清單:主畫面下方空白處,由下往上拉就會看到所有應用
  • 開啟設定:上方狀態列下拉在下拉,就看到齒輪,點擊後即可開啟設定

小結

ReDroid 是一套小巧精悍的 Android 模擬器,用起來就知道有多快速高效,我們會以此為目標裝置,接著帶大家看如何安裝 Google 全家桶,安裝 App與基本除錯等。

avatar-img
Scott Hsiao的沙龍
10會員
16內容數
記錄分享如何做軟體自動測試
留言
avatar-img
留言分享你的想法!
Scott Hsiao的沙龍 的其他內容
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分