在 XCUITest 裡處理畫面捲動,直到目標元件出現

使用 XCUITest 基本上我們不需要自己處理畫面捲動的問題,例如要點擊某個按鈕,但該按鈕需要捲動畫面直到按鈕顯示後,才能點擊到此按鈕,但其實 XCUITest 只要抓到該元件後,直接點擊該按鈕就會自動捲到此按鈕出現,但有些情況下可能無法這麼順利操作 (可參考此篇官方說明),此時我們就需要自己來處理畫面捲動的操作。

本篇文章將帶大家透過 XCUITest 實作捲動畫面至某個元件出現後就停止捲動。(使用開發環境 Xcode 7.3.1)

例如有一個 TableView 如下圖所示,我們要捲動至第 13 個 Cell 上後,接著再對 UI 驗證或操作。

繼續閱讀

廣告

使用 Xcode 執行 UI 自動化測試 – Part 2

本篇文章由 使用 Xcode 執行 UI 自動化測試 – Part 1 繼續延伸,列出測試過程中較進階的用法,將使用 Swift 2.3 來說明。

繼續閱讀

使用 Xcode 執行 UI 自動化測試 – Part 1

Xcode 7 提供了 UI 自動化測試工具,想先初步了解它是如何運作建議讀者可以先瀏覽 UI Testing in Xcode – WWDC 2015 – Videos – Apple Developer,其中最吸引我的部分是,它直接與 Xcode 開發工具整合,而不用再另外使用 Instruments 裡的 Automation ,並可透過錄製的方式錄下使用者操作,然後重播使用者的操作,且可直接在模擬器與實體機器 (iOS 9 以上) 執行測試,另外撰寫測試的程式語言為開發人員常用的 Objective-C 或 Swift 程式語言。

繼續閱讀

在 iOS UIAutomation 自動化測試,我們該如何等待某元件出現後再繼續接下來的測試

在做 UI 自動化測試時,當我們要等待某個元件出現後再繼續往下測試,這時我們該如何實作?

 一開始可能會想到做一個 waitForElementAppeared(element, timeout) 類似於這樣的函示來實作,第一個參數傳入要等待該元件,第二個參數傳入逾時等待時間超過等待時間,超過就不再繼續等待,裡面的實作可能如下所示:

繼續閱讀

寫 iOS UIAutomation 自動化測試,如何透過 shell script 傳送參數至 JavaScript ç¨‹å¼ä¸­ï¼Ÿ

最近在做 iOS UIAutomation 自動化測試時遇到一個問題,當有一個畫面需要做登入動作時,我們會將登入的帳號密碼寫入某個 JavaScript 檔,把測試的帳號密碼直接固定寫死,程式碼如下所示:

const ACCOUNT = "markchang@example.com";
const PASSWORD = "mark123";

繼續閱讀

當 iOS App 內的控制元件沒 Accessibility 可以定位元件時,我們 UI è‡ªå‹•åŒ–測試該如何操作?

軟體測試部門在做 iOS UI 自動化測試時,會透過抓取 UI 元件的 Accessibity 屬性值來取得該控制元件,再針對取得的控制元件進行操作。

我們可以透過開啓「Accessibility Inspector」視窗來檢視該元件的屬性:
透過滑鼠點選畫面中 search bar 右方的「排序」按鈕,如下圖所示,紅色邊框框出來範圍的地方就是該元件的範圍。

繼續閱讀

透過 Sikuli + Mobizen 來做 Android è‡ªå‹•åŒ–測試

在做 UI 自動化測試時都會抓取某元件的 text、content-desc、index 等資料來抓取某個元件後再對此元件做操作,但有時候某些元件可能沒有這些明確的資料,在實作上確實不好處理,如下圖所示,這是 Android 手機圖形解鎖。 繼續閱讀