簡體   English   中英

具有大量滾動功能的iOS UI自動化

[英]iOS UI Automation with a lot of scrolling

在過去的一周中,我花了很多時間來調整Xcode / Instruments / UIAutomation腳本,以期獲得易於自動化的功能。 但是沒有什么能像我期望的那樣工作。

據我所知,這是由於控件在屏幕外時虛擬化了。 問題在於,在任何給定時間,我需要測試的絕大多數內容都不會呈現,直到我明確滾動到它為止。

具體來說,我有一個帶有兩個頁面的UIAScrollView。 第二頁有一個包含大量單元格的集合,有時還有StaticText。

我還沒有找到一種很好的方法來驗證StaticText正在顯示其應顯示的內容。 我發現的唯一方法是查看當前屏幕上的StaticText,滾動少量內容,查看其是否更改,然后繼續進行操作。 這是有問題的,尤其是因為我最終跌到谷底,並且沒有明確的方法告訴我滾動已經完成。

我試過按名稱查找元素並使用scrollToVisible ...如果有問題的控件“僅”在屏幕外,但只有這樣,這才起作用。

除了具有循環重復執行少量滾動直到看到所要查找的控件之外,還有其他解決方法嗎?

謝謝!

您可以獲取單元格數組的長度並循環遍歷。 一種方法是:

for (var index = 0; index < mainWindow().scrollViews()[0].cells().length; index++)
{
    var currentCell = mainWindow().scrollViews()[0].cells()[index];
    mainWindow().scrollViews()[0].scrollToElementWithName(currentCell.name());

    //Do whatever you need to do
    ....
}

您可以先檢查它是否有效,然后再檢查可見。

if ( window.staticTexts()["YourStaticText"].checkIsValid() )
{
if (!window.staticTexts()["YourStaticText"].isVisible() )
{
    UIALogger.logMessage("object is valid");
    window.staticTexts()["YourStaticText"].scrollToVisible();

}
}

如果要滾動到下一頁

window.staticTexts()["YourStaticText"].scrollDown();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM