更新於 2023/05/14閱讀時間約 4 分鐘

App 自動化測試(九)結合 XPATH 測試自己的 App

前言

前八篇把各個環節分段介紹,接下來就是學以致用的時候,本篇會用自己的 App 做一系列的測試。

測試規格

  • 系統版本:Android 11
  • 待測物:NIA by Android
  • 確認首頁下方切換列的功能

撰寫測試腳本

$ cat testNia.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.app = '/home/scott/Downloads/app-demo-debug.apk'

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_tabSaved(self): #find by text
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Saved"]')
        el.click()

    def test_tabSaved2(self): #find by xpath
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@resource-id="NiaBottomBar"]')

    def test_tabSaved3(self): #find by cascaded xpath
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@resource-id="NiaBottomBar"]//android.widget.TextView[@text="Saved"]')
        el.click()

if __name__ == '__main__':
    unittest.main()
分段解析:
  • 第一段引入必要的函示庫
  • 第二段宣告測試環境跟 App
  • 第三段是搭配的 Appium Server
  • 再來是測試主體 Class setUp:連接待測物 tearDown:測試結束後的收尾 test_tabSaved:第一種點擊 Saved 分頁的方法,直接搜尋文字 test_tabSaved2:第二種點擊 Saved 分頁的方法,以 Resource-Id 搜尋 test_tabSaved3:第三種點擊 Saved 分頁的方法,疊加方法一跟方法二,做更細緻的定位

執行

$ python3 testNia.py 
...
----------------------------------------------------------------------
Ran 3 tests in 21.456s

OK
$

小結

這篇集前面八篇的大成,展示了透過 Python 腳本執行幾種定位跟測試自己 App 的方式,入門篇差不多也完成了,接下來就是各種進階應用,敬請期待。
分享至
成為作者繼續創作的動力吧!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

作者的相關文章

Scott Hsiao的沙龍 的其他內容

你可能也想看

發表回應

成為會員 後即可發表留言
© 2024 vocus All rights reserved.