【问题标题】:Ionic and Appium离子和Appium
【发布时间】:2017-11-24 07:54:51
【问题描述】:

我正在尝试在 Ionic3 应用程序上使用 Appium 设置 E2E 测试。 对我来说,不清楚 Webdriver 何时可以访问“id”或“accessibility id”。通常我只有 xpath 作为选项,由于平台特定的路径而无法使用。我想要一个适用于 iOS 和 Android 的测试脚本(可以使用“可访问性 ID”。

我设置了一个虚拟应用程序来测试这种行为:https://github.com/olivierschmid/appium_testapp

主页包含一个按钮

 <button id="myButtonID" name="myButtonName" ion-button block (click)="gotoAbout()">Click me</button>

在 iOS 上,Appium 的检查器只显示 xpath 选项。在 Android 上还有“id”。 在另一个 Ionic 应用程序上,情况正好相反(iOS 上的辅助功能 ID,Android 上没有 ID...)。

知道如何告诉 Ionic 生成 ID 吗? 谢谢奥利

以下是我在 Appium 中使用的功能:

iOS
{
“platformName”: “iOS”,
“app”: “/Users/u105791/AppDev/testapp/platforms/ios/build/device/MyApp.ipa”,
“udid”: “12345 - uid of iPhone”,
“deviceName”: “441fabb1600ab393e963fcba2adfae975e8282d5”,
“automationName”: “XCUITest”
}

Android
{
“platformName”: “Android”,
“app”: “/AppDev/testapp/platforms/android/build/outputs/apk/android-debug.apk”,
“udid”: “12345 - uid of Samsung galaxy”,
“deviceName”: “Android”,
“automationName”: “uiautomator2”
}

【问题讨论】:

  • 你找到解决方案了吗@Olivier Schmid?
  • @AndréHerculano - 现在可以使用了。我们在我们想要交互的所有元素上设置类 ID。到目前为止,这是有效的(离子 3 和离子 4)。

标签: cordova ionic-framework appium ionic3 e2e-testing


【解决方案1】:

我认为最好的方法是:

  • iOS => AccessibilityId
  • Android => 内容描述

它适用于 ReactNative 应用程序的 Appium 自动化测试,也可能适用于 Ionic

只需让它在 iOS 中作为 AccessibilityId 工作,然后检查您在 Android 上的 content-desc 元素属性下是否具有相同的值

【讨论】:

  • 谢谢。问题是本机项目(Xcode、Android)是由 Ionic 生成的,我没有发现它会影响 AccessibilityId 和 content-desc 是否/如何设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 1970-01-01
  • 2017-06-20
相关资源
最近更新 更多