App 自動化測試(十)錄製腳本並用Python 執行

更新於 2023/05/24閱讀時間約 3 分鐘

前言

上篇把定位講完,不過實務上很少真的用手刻,大多用錄製或者軟體輔助,先講XPATH主要是讓大家有個底,就像最近的AI風一樣,好玩是一回事,做出來的東西還是要人看得懂知道哪裡可能有問題。
這篇就會著重介紹如何錄製腳本並轉換成可以執行的程式。

操作與錄製

主畫面錄製前的相關功能如下:參考文章
  1. 眼睛圖示就是開始錄製的按鈕
  2. 十字準星則是點擊元素
  3. 順時針箭頭是更新畫面,萬一兩邊不同步時要使用
開始錄製後,介面會變成這樣
  1. 暫停錄製
  2. 自動生成的程式碼
  3. 語言切換,可以切換成偏愛的程式語言類型

轉換腳本檔並執行

有了自動錄製的腳本之後,套用到程式裡面也很簡單
例如,它會給你一串元素定位跟點擊的腳本指令如下:
el1 = driver.find_element(by=AppiumBy.CLASS_NAME, value="android.widget.TextView")
el1.click()
el1.click()
el2 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="button-next")
el2.click()
這時候,請參考第六講,把這段塞到主程式中如下:
$ cat testClick.py
import time
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):
el1 = self.driver.find_element(by=AppiumBy.CLASS_NAME, value="android.widget.TextView")
el1.click()
time.sleep(1)
el2 =
self.driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="button-next")
el2.click()


if __name__ == '__main__':
unittest.main()
重點在倒數第二段,driver 要改成自己的 driver 變數,多餘的點擊拿掉,並且加入適當的延遲。

小結

測試是環境架設難,寫起來簡單的工作,前面幾篇的環境準備搞定之後,後面其實真的腳本寫起來不難,有興趣都可以試試看。
為什麼會看到廣告
avatar-img
10會員
16內容數
記錄分享如何做軟體自動測試
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Scott Hsiao的沙龍 的其他內容
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
前言 上篇我們成功執行第一個測試案例,從 Python 腳本透過 Appium 控制模擬器點選設定中的電池,下個問題就是怎麼找元件,這時候就要請出 Appium Inspector 了
前言 經過五個小單元的準備,終於可以開始跑第一個測試了,Appium 本身是個工具,可以搭配各種語言,這邊選擇 Python 作為測試腳本語言,以便之後跟 Robot Framework 串接。
前言 前四篇,把主機作業系統跟待測物準備交代完畢,有需要請自行跳轉取用,接下來就是測試工具的部分,這次測試套件使用大名鼎鼎 Appium 2。 選擇 Appium 2 的理由 歷史悠久:Appium 2012 年公開之後,就廣受測試社群愛戴 站在巨人的肩榜上:架構類似 Selenium的主從式架構,
前言 前幾篇聊到作業系統、Docker 跟 Android 容器的準備,再來就是替 Android 容器開啟 Google Play 套件並安裝待測 App 供後續手動或者自動測試使用。
前言 前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。
前言 基本準備差不多了,也能跑自己的測試,再來就是關於測試腳本的核心:元素定位跟動作,本篇會著重介紹 XPATH 定位的部分
前言 上篇我們成功執行第一個測試案例,從 Python 腳本透過 Appium 控制模擬器點選設定中的電池,下個問題就是怎麼找元件,這時候就要請出 Appium Inspector 了
前言 經過五個小單元的準備,終於可以開始跑第一個測試了,Appium 本身是個工具,可以搭配各種語言,這邊選擇 Python 作為測試腳本語言,以便之後跟 Robot Framework 串接。
前言 前四篇,把主機作業系統跟待測物準備交代完畢,有需要請自行跳轉取用,接下來就是測試工具的部分,這次測試套件使用大名鼎鼎 Appium 2。 選擇 Appium 2 的理由 歷史悠久:Appium 2012 年公開之後,就廣受測試社群愛戴 站在巨人的肩榜上:架構類似 Selenium的主從式架構,
前言 前幾篇聊到作業系統、Docker 跟 Android 容器的準備,再來就是替 Android 容器開啟 Google Play 套件並安裝待測 App 供後續手動或者自動測試使用。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
每當我學習新東西,總是感到無比的興奮。相較於買車出遊,我更喜歡透過摸索新事物來擴展自己的眼界。 ▋透過閱讀擴展視野 我主要透過購買書籍來進行探索,這也多虧父母從小到大提供的經濟支持。從幼稚園到博士畢業,我大概購買了四五千冊的書籍。父親甚至在我的房間外搭了一個鐵皮屋,專門用來存放我各式各樣
Thumbnail
Relay.app 是簡單強大的自動化 No Code 工具,支援約百種數位工具,操作介面簡單易上手。內建串接 OpenAI,只要簡單輸入指令,即可獲得 AI 生成回覆!更棒的是,可以整合真人決策進入自動化工作流程,使人力介入不再中斷自動化,打造更全面完整工作流程,提升團隊協作,專案管理更有效率!
Thumbnail
你知道,義大利經濟學家帕雷托(Vilfredo Pareto)提出的帕雷托法則,又以80/20法則、或八二法則著名,用在人極其一生努力賺錢又邊花錢的過程中,世界上有80%的人感慨財富不足、都在羨慕那20%財富自由的人;自問即便財務目標沒有設立很高,為何依然錢存不到自己要的目標?! 在陪伴協助許
Thumbnail
工作時常會需要固定發廣告信,或業務開發信的話,可以考慮用google app script,呼叫gmail 的方式來處理。
Thumbnail
2023台灣用戶十大愛用LINE功能出爐!根據LINE團隊觀察自2022年12月至2023年11月,最受台灣用戶青睞的LINE功能就是解放主題富翁時間的「主題自動輪播」,第二名則是運用AI技術自動生成個人照片的「個人檔案工作室」,第三名為台灣暨全球首發的「父親節聊天室特效」。
Thumbnail
這是我跟chatgpt協作整理出來的一些知識: 蠻神奇的事情是我記得CHATGPT無法連網,他居然能知道我這個專案是做 投資建議訊號推送的telegrambot機器人,我完全沒有頭緒他怎麼知道的
Thumbnail
語言學習如果只限於課堂,很容易變得枯燥乏味。身處科技時代的我們,早就習慣用手機完成生活中的大小事,越南語的學習也可以搬到手機裡!跟大家分享9款學習越南語App,主要用遊戲化的方式學習,設置了各種遊戲關卡,還有機器人學伴陪伴你一起學越南語。另外,更需要多樣化的測驗來檢測自己的程度到哪裡。
Thumbnail
日文有所謂的高低音(類似英文的重音),很像中文發聲系統的第一聲和第三聲。高低音唸反了,在日文可是會把「神」(唸「咖米」)講錯成「頭髮」(唸「卡咪」)的,所以擁有標示重音的字典是很重要的事。自從看見網友說日本知名字典網站已取消單字的重音標示,我就趕快找了其他替代的重音兼發音字典,有一家app我特中意。
Thumbnail
今天和各位介紹一款完全免費的自學漢字app-Noodle Chinese,利用動畫的方式帶著學生寫字,來降低初學者對漢字的恐懼。另外Noodle Chinese本身就有字典的功能,在查字典的同時,也能直接創立自己的生字包,並且開始練習寫字!
Thumbnail
今天想和各位老師介紹一款來自介面設計相當精美的單字APP Drops最近新推出的寫字APP- Scripts。利用每天短短的五分鐘,透過不同的練習方式來寫字,能讓學生在無壓力的情況下學習新的生字!同時Scripts色彩豐富、操作簡單,也很適合一開始接觸漢字的學習者使用!
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
每當我學習新東西,總是感到無比的興奮。相較於買車出遊,我更喜歡透過摸索新事物來擴展自己的眼界。 ▋透過閱讀擴展視野 我主要透過購買書籍來進行探索,這也多虧父母從小到大提供的經濟支持。從幼稚園到博士畢業,我大概購買了四五千冊的書籍。父親甚至在我的房間外搭了一個鐵皮屋,專門用來存放我各式各樣
Thumbnail
Relay.app 是簡單強大的自動化 No Code 工具,支援約百種數位工具,操作介面簡單易上手。內建串接 OpenAI,只要簡單輸入指令,即可獲得 AI 生成回覆!更棒的是,可以整合真人決策進入自動化工作流程,使人力介入不再中斷自動化,打造更全面完整工作流程,提升團隊協作,專案管理更有效率!
Thumbnail
你知道,義大利經濟學家帕雷托(Vilfredo Pareto)提出的帕雷托法則,又以80/20法則、或八二法則著名,用在人極其一生努力賺錢又邊花錢的過程中,世界上有80%的人感慨財富不足、都在羨慕那20%財富自由的人;自問即便財務目標沒有設立很高,為何依然錢存不到自己要的目標?! 在陪伴協助許
Thumbnail
工作時常會需要固定發廣告信,或業務開發信的話,可以考慮用google app script,呼叫gmail 的方式來處理。
Thumbnail
2023台灣用戶十大愛用LINE功能出爐!根據LINE團隊觀察自2022年12月至2023年11月,最受台灣用戶青睞的LINE功能就是解放主題富翁時間的「主題自動輪播」,第二名則是運用AI技術自動生成個人照片的「個人檔案工作室」,第三名為台灣暨全球首發的「父親節聊天室特效」。
Thumbnail
這是我跟chatgpt協作整理出來的一些知識: 蠻神奇的事情是我記得CHATGPT無法連網,他居然能知道我這個專案是做 投資建議訊號推送的telegrambot機器人,我完全沒有頭緒他怎麼知道的
Thumbnail
語言學習如果只限於課堂,很容易變得枯燥乏味。身處科技時代的我們,早就習慣用手機完成生活中的大小事,越南語的學習也可以搬到手機裡!跟大家分享9款學習越南語App,主要用遊戲化的方式學習,設置了各種遊戲關卡,還有機器人學伴陪伴你一起學越南語。另外,更需要多樣化的測驗來檢測自己的程度到哪裡。
Thumbnail
日文有所謂的高低音(類似英文的重音),很像中文發聲系統的第一聲和第三聲。高低音唸反了,在日文可是會把「神」(唸「咖米」)講錯成「頭髮」(唸「卡咪」)的,所以擁有標示重音的字典是很重要的事。自從看見網友說日本知名字典網站已取消單字的重音標示,我就趕快找了其他替代的重音兼發音字典,有一家app我特中意。
Thumbnail
今天和各位介紹一款完全免費的自學漢字app-Noodle Chinese,利用動畫的方式帶著學生寫字,來降低初學者對漢字的恐懼。另外Noodle Chinese本身就有字典的功能,在查字典的同時,也能直接創立自己的生字包,並且開始練習寫字!
Thumbnail
今天想和各位老師介紹一款來自介面設計相當精美的單字APP Drops最近新推出的寫字APP- Scripts。利用每天短短的五分鐘,透過不同的練習方式來寫字,能讓學生在無壓力的情況下學習新的生字!同時Scripts色彩豐富、操作簡單,也很適合一開始接觸漢字的學習者使用!