[英]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.