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

更新於 發佈於 閱讀時間約 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
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
這是一篇描述測試AI功能的文章,內容是一些隨心所欲的想法和想像,引導讀者思考現實世界及經歷。文章內容充滿了一些具有戲劇性和冒險色彩的詞彙和描述。
Thumbnail
Selenium 是一個範圍廣泛的工具和函式庫的總稱專案,用於啟用和支援網頁瀏覽器的自動化。Selenium WebDriver 提供了 C#、JavaScript、Java、Python、Ruby 等多種語言的 API,可以用於編寫自動化測試軟體。 在定位元素時,WebDriver 提供對這 8
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
這篇文章介紹瞭如何利用單晶片來控制不同功能模組的應用,並分享了親手體驗的影片和遇到的卡關。文章強調了需要具備基礎程式語言撰寫的邏輯,以及解決卡關時需要個人調整程式碼的順序。
Thumbnail
分享在工作場景中使用AI生成帶狀節目腳本的實際應用,並提供了關於AI腳本生成的效率革命、腳本生成流程拆解、定期內容創作的AI應用、AI腳本生成步驟拆解以及AI協作的相關內容。讓AI幫助做出精彩演出,提升工作效率,減輕負擔。
Thumbnail
本課程學習如何處理按鈕點擊事件並透過 Logcat 日誌輸出資訊確認按鈕邏輯是否正確。
Thumbnail
靈感?! 點選 [開始創作] ,盯著螢幕上顯示著創作平台(方格子)的空白畫面,寫著大大的提示詞『請你輸入標題、開始創作你的精彩內容...』 大腦中心傳達指令,請手指十兄弟進行輸出行為『打字』。十兄弟接受命令後,每個指尖協作分工敲打著 Laptop的鍵盤按鍵。 輸出的文字內容,就這樣不斷反覆『打
Thumbnail
這個地址可以讓我一鍵安裝目前所有的開源AI應用,包括: AI繪圖工具:Stable Diffusion的Web UI和comyUI 視訊換臉工具:Face Fusion 聲音課程工具:RVC和XTDS 記住這個地址,它可以讓你一鍵安裝目前所有的開源AI應用。不用管環境配置需要哪一個,直接點擊
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
這是一篇描述測試AI功能的文章,內容是一些隨心所欲的想法和想像,引導讀者思考現實世界及經歷。文章內容充滿了一些具有戲劇性和冒險色彩的詞彙和描述。
Thumbnail
Selenium 是一個範圍廣泛的工具和函式庫的總稱專案,用於啟用和支援網頁瀏覽器的自動化。Selenium WebDriver 提供了 C#、JavaScript、Java、Python、Ruby 等多種語言的 API,可以用於編寫自動化測試軟體。 在定位元素時,WebDriver 提供對這 8
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
這篇文章介紹瞭如何利用單晶片來控制不同功能模組的應用,並分享了親手體驗的影片和遇到的卡關。文章強調了需要具備基礎程式語言撰寫的邏輯,以及解決卡關時需要個人調整程式碼的順序。
Thumbnail
分享在工作場景中使用AI生成帶狀節目腳本的實際應用,並提供了關於AI腳本生成的效率革命、腳本生成流程拆解、定期內容創作的AI應用、AI腳本生成步驟拆解以及AI協作的相關內容。讓AI幫助做出精彩演出,提升工作效率,減輕負擔。
Thumbnail
本課程學習如何處理按鈕點擊事件並透過 Logcat 日誌輸出資訊確認按鈕邏輯是否正確。
Thumbnail
靈感?! 點選 [開始創作] ,盯著螢幕上顯示著創作平台(方格子)的空白畫面,寫著大大的提示詞『請你輸入標題、開始創作你的精彩內容...』 大腦中心傳達指令,請手指十兄弟進行輸出行為『打字』。十兄弟接受命令後,每個指尖協作分工敲打著 Laptop的鍵盤按鍵。 輸出的文字內容,就這樣不斷反覆『打
Thumbnail
這個地址可以讓我一鍵安裝目前所有的開源AI應用,包括: AI繪圖工具:Stable Diffusion的Web UI和comyUI 視訊換臉工具:Face Fusion 聲音課程工具:RVC和XTDS 記住這個地址,它可以讓你一鍵安裝目前所有的開源AI應用。不用管環境配置需要哪一個,直接點擊