![](/img/trans.png)
[英]How can we automate content verification for mobile applications (iOS + Android ) without UI automation tools
[英]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_HOME>
(包括sdk
文件夾本身) <ANDROID_HOME>/SDK Manager.exe
。 選擇最新的Android SDK工具和Android SDK平台工具並進行安裝 <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元素的樹結構。 如下圖所示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.