App 自動化測試(六)Python 第一個APP測試案例-系統設定

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

前言

經過五個小單元的準備,終於可以開始跑第一個測試了,Appium 本身是個工具,可以搭配各種語言,這邊選擇 Python 作為測試腳本語言,以便之後跟 Robot Framework 串接。

安裝 Python 與 Appium 函示庫

確認 Python 版本

Ubuntu 20.04 內建3.8,使用以下指令確認
$ python3 --version
Python 3.8.10
不過 python 沒有預設關連,用以下指令指定預設
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
指定 3.7 為預設 Python3 版本
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
sudo update-alternatives --config python3
確認安裝的版本,參考來源
$ python --version
Python 3.8.10
安裝 Python 的套件管理工具:pip
sudo apt install python3-pip -y

安裝 Appium Python Client

用 PIP 安裝 Appium-Python-Client
pip install Appium-Python-Client
確認安裝成果
$ pip show Appium-Python-Client
Name: Appium-Python-Client
Version: 2.10.1

安裝 Android SDK並指定路徑

安裝 SDK
sudo apt update && sudo apt install android-sdk
確認安裝位置:
$ ls /usr/lib/android-sdk -al
total 28
drwxr-xr-x   7 root root 4096 May 24 01:33 .
drwxr-xr-x 128 root root 4096 May 24 01:33 ..
drwxr-xr-x   3 root root 4096 May 24 01:33 build-tools
drwxr-xr-x   2 root root 4096 May 24 01:33 licenses
drwxr-xr-x   3 root root 4096 May 24 01:33 platforms
drwxr-xr-x   2 root root 4096 May 24 01:33 platform-tools
drwxr-xr-x   4 root root 4096 May 24 01:33 tools
將以下幾行加入 ~/.bashrc 中
ANDROID_HOME="/usr/lib/android-sdk"
ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools"
ANDROID_TOOLS="$ANDROID_HOME/tools"
ANDROID_BUILD_TOOLS="$ANDROID_HOME/build-tools/27.0.1"
export ANDROID_HOME
export ANDROID_PLATFORM_TOOLS
export ANDROID_TOOLS
export ANDROID_BUILD_TOOLS
更新環境變數
source ~/.bashrc

撰寫測試腳本

到這就把所有需要用 Python 執行 Appium 測試需要的相關套件都備齊了,請參考一下範例建立第一個測試腳本
$ cat testSettings.py 
import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy
options = UiAutomator2Options()
options.platformVersion = '11'
options.appPackage='com.android.settings'
options.appActivity='.Settings'
appium_server_url = 'http://localhost:4723'
class TestAppium(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Remote(appium_server_url, options=options)
    def tearDown(self):
        if self.driver:
            self.driver.quit()
    def test_find_battery(self):
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
        el.click()
if __name__ == '__main__':
    unittest.main()
簡單說明一下腳本內容,他是透過 unittest 來執行,所以有些額外的 class 指令,基本上就是設定待測物資訊、連接、確認是否有某元素
  1. 前四行是載入必要的函示庫
  2. 再來四行是設定連接方式跟待測 App 資訊
  3. 再來是指定 Appium 的 IP 跟 PORT
  4. 再來是一個 unittest 的類別:
    setUp 初始化連線
    test_find_battery 是唯一個測試案例,會尋找是否有含 Battery 文字的元素,並點擊
    tearDown 結束測試
  5. 最後是主函示

執行

首先要手動從模擬器中開啟設定APP,因為沒有指定APK無法自動開啟
再來就是執行 appium server 服務
$ appium
開另外一個指令視窗執行測試
$ python testSettings.py
就會看到電池次選單被點開

小結

經過漫長的準備,總算把 Hello World 的第一個測試完成,接著會細部介紹如何瀏覽元素、定位元素來寫真正的測試案例。
為什麼會看到廣告
avatar-img
10會員
16內容數
記錄分享如何做軟體自動測試
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Scott Hsiao的沙龍 的其他內容
前言 前四篇,把主機作業系統跟待測物準備交代完畢,有需要請自行跳轉取用,接下來就是測試工具的部分,這次測試套件使用大名鼎鼎 Appium 2。 選擇 Appium 2 的理由 歷史悠久:Appium 2012 年公開之後,就廣受測試社群愛戴 站在巨人的肩榜上:架構類似 Selenium的主從式架構,
前言 前幾篇聊到作業系統、Docker 跟 Android 容器的準備,再來就是替 Android 容器開啟 Google Play 套件並安裝待測 App 供後續手動或者自動測試使用。
前言 前兩篇把作業系統跟 Docker 安裝講完了,接下來就是 Android 容器的安裝了,這裡選用 ReDroid ,因為它是開源、高效、又便於管理的方案。
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
前言 本 App 自動化測試專題,用來記錄自動化 App 測試的各環節,包含環境準備、套件安裝、腳本編寫、執行測試與整合。
前言 前四篇,把主機作業系統跟待測物準備交代完畢,有需要請自行跳轉取用,接下來就是測試工具的部分,這次測試套件使用大名鼎鼎 Appium 2。 選擇 Appium 2 的理由 歷史悠久:Appium 2012 年公開之後,就廣受測試社群愛戴 站在巨人的肩榜上:架構類似 Selenium的主從式架構,
前言 前幾篇聊到作業系統、Docker 跟 Android 容器的準備,再來就是替 Android 容器開啟 Google Play 套件並安裝待測 App 供後續手動或者自動測試使用。
前言 前兩篇把作業系統跟 Docker 安裝講完了,接下來就是 Android 容器的安裝了,這裡選用 ReDroid ,因為它是開源、高效、又便於管理的方案。
前言 前篇把 Ubuntu 作業系統的安裝跟準備談完了,有需要可以跳回去看。接下來聊容器服務 Docker 的安裝與使用。 Docker 可以應用的場合很多,這次是會用它來模擬 Android 受測裝置
前言 本 App 自動化測試專題,用來記錄自動化 App 測試的各環節,包含環境準備、套件安裝、腳本編寫、執行測試與整合。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
幾個步驟,就能成功在MacBook Air M1安裝Python3和Django!
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
解決 setuptools 的問題: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. 解決方法 目前
Thumbnail
這個地址可以讓我一鍵安裝目前所有的開源AI應用,包括: AI繪圖工具:Stable Diffusion的Web UI和comyUI 視訊換臉工具:Face Fusion 聲音課程工具:RVC和XTDS 記住這個地址,它可以讓你一鍵安裝目前所有的開源AI應用。不用管環境配置需要哪一個,直接點擊
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
幾個步驟,就能成功在MacBook Air M1安裝Python3和Django!
想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
解決 setuptools 的問題: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. 解決方法 目前
Thumbnail
這個地址可以讓我一鍵安裝目前所有的開源AI應用,包括: AI繪圖工具:Stable Diffusion的Web UI和comyUI 視訊換臉工具:Face Fusion 聲音課程工具:RVC和XTDS 記住這個地址,它可以讓你一鍵安裝目前所有的開源AI應用。不用管環境配置需要哪一個,直接點擊