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
留言分享你的想法!
avatar-img
Scott Hsiao的沙龍
10會員
17內容數
記錄分享如何做軟體自動測試
Scott Hsiao的沙龍的其他內容
2023/05/24
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
Thumbnail
2023/05/24
前言 上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。 這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。
Thumbnail
2023/05/12
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
2023/05/12
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
2023/05/12
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
2023/05/12
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
看更多
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
  環境佈置很重要!!所以按照這樣的方法下去安裝未來使用的時候才不會很麻煩,而且python會有很多外來模組要安裝,因此安裝路徑一定要設定好,未來找尋的時候才找的到,版本的差異沒有調整好也有可能用到最後有些會出現各種錯誤。所以環境佈置這真的很重要!!很重要!!很重要!!
Thumbnail
  環境佈置很重要!!所以按照這樣的方法下去安裝未來使用的時候才不會很麻煩,而且python會有很多外來模組要安裝,因此安裝路徑一定要設定好,未來找尋的時候才找的到,版本的差異沒有調整好也有可能用到最後有些會出現各種錯誤。所以環境佈置這真的很重要!!很重要!!很重要!!
Thumbnail
前言 上篇我們成功執行第一個測試案例,從 Python 腳本透過 Appium 控制模擬器點選設定中的電池,下個問題就是怎麼找元件,這時候就要請出 Appium Inspector 了
Thumbnail
前言 上篇我們成功執行第一個測試案例,從 Python 腳本透過 Appium 控制模擬器點選設定中的電池,下個問題就是怎麼找元件,這時候就要請出 Appium Inspector 了
Thumbnail
在Microsoft store 搜尋 kail linux 並安裝(這裡假設你已經先安裝WSL) 之後執行kail linux 終端機 依序輸入以下指令: 上面主要是做一些更新(update and upgrade),然後安裝python3, python3-venv(虛擬環境)之後建立一個名為b
Thumbnail
在Microsoft store 搜尋 kail linux 並安裝(這裡假設你已經先安裝WSL) 之後執行kail linux 終端機 依序輸入以下指令: 上面主要是做一些更新(update and upgrade),然後安裝python3, python3-venv(虛擬環境)之後建立一個名為b
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News