簡體   English   中英

如何獲取移動應用程序(Android / iOS)中用於移動自動化測試的ui元素的ID,名稱或x路徑?

[英]How can I get IDs, names or x paths for ui elements used in a mobile app (Android/iOS) for mobile automation testing?

我想知道如何獲得在appium,monkey-talk,xamarian等移動自動化測試中使用的移動應用程序中使用的UI元素的ID或名稱。

我解釋的是我的系統(Windows 7),但我的解釋也應該可以輕松轉換為其他系統。

先決條件

  • 當您想要進行Android自動化測試時,您應該始終安裝Android SDK,因此我假設您已經這樣做了。 讓我們調用sdk文件夾的路徑<ANDROID_HOME> (包括sdk文件夾本身)
  • 運行<ANDROID_HOME>/SDK Manager.exe 選擇最新的Android SDK工具和Android SDK平台工具並進行安裝
  • 連接您要測試的設備:
    • 運行模擬器 - 它會自動連接到您的系統中
    • 或者連接物理設備並安裝正確的USB驅動程序。 您可以通過運行命令<ANDROID_HOME/platform-tools/adb.exe devices驗證設備是否已連接 - 如果列表中至少有一個設備您可以使用它。

一旦你擁有了這一切:

運行<ANDROID_HOME>/tools/uiautomatorviewer.bat 這將打開一個屏幕,允許您截取已連接設備的屏幕截圖。 見下圖:

在此輸入圖像描述

屏幕截圖是通過單擊紫色矩形下的按鈕拍攝的,我是人工添加的。 紅色的是工具添加的,因為我將鼠標懸停在感興趣的元素上。 您可以在右側觀察元素屬性。 這些通常是您用於測試本機應用程序的屬性。

如果要測試在WebView中加載的元素,那么最好使用Chrome遠程調試來獲取正確的選擇器。


腳注:

我看到你正在邁向移動自動化測試的第一步,這是我非常感興趣的領域,我建議你看看ATMOSPHERE Android測試自動化框架。 免責聲明 :我是其創作者之一。 仍然 - 它是免費提供和開源的。 我們也相信它提供了其他框架不支持的功能,並且很容易入手,所以我希望它對您有用!

C#

就我而言,這段代碼解決了我的問題:

    private IApp _app = ScenarioContext.Current.Get<IApp>("Application");

    private readonly ILoginScreen _loginScreen;
    private readonly IMainMenuScreen _mainMenuScreen;

    public Login(ILoginScreen loginScreen, IMainMenuScreen mainMenuScreen)
    {
        _app.Repl();
        _loginScreen = loginScreen;
        _mainMenuScreen = mainMenuScreen;
    }

我正在使用Xamarin使用Gherkin語言,其中Repl()命令打開一個新的cmd,您可以在其中鍵入tree命令並在特定屏幕上獲取ui元素的樹結構。 如下圖所示:

Xamarin UI測試

步驟1:單擊檢查器按鈕啟動appium檢查器:

在此輸入圖像描述

第2步:設置APK / IPA文件路徑(應用程序文件路徑),如下所示:

在此輸入圖像描述

第3步:單擊Start Session,現在您將導航到Recorder窗口:

在此輸入圖像描述

單擊應用程序UI並執行所需操作“選定元素”選項卡,即點擊,發送鍵以輸入文本等。

在記錄我們可以導出Java文件的所有元素的UI元素之后,選定的UI元素將導出到Recorder選項卡。

暫無
暫無

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

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