appium 入门

Appium 是一个开源的跨平台测试自动化工具,适用于本机,混合和移动 Web 应用程序,在模拟器(iOS, FirefoxOS),模拟器(Android)和真实设备(iOS, Android, FirefoxOS)上进行测试。

为什么选择 Appium?

  1. 由于在所有平台上使用标准自动化 API,你无需以任何方式重新编译应用程序或对其进行修改。
  2. 由于在所有平台上使用标准自动化 API,你无需以任何方式重新编译应用程序或对其进行修改。你可以使用任何与 WebDriver 兼容的语言(例如 JavaObjective-C ,带有 Node.js 的 JavaScript( 承诺,回调生成器风格),PHP, PythonRubyC# ,Clojure 或 Perl ) 使用你喜欢的开发工具编写测试。使用 Selenium WebDriver API 和特定于语言的客户端库。
  3. 你可以使用任何测试框架。

投资 WebDriver 协议意味着你打算采用单一,免费且开放的测试协议,这已成为事实上的标准。不要将自己锁定在专有堆栈中。

如果你在没有 Appium 的情况下使用 Apple 的 UIAutomation 库,你只能使用 JavaScript 编写测试,并且你只能通过 Instruments 应用程序运行测试。同样,使用 Google 的 UiAutomator,你只能用 Java 编写测试。Appium 开辟了真正的跨平台原生移动自动化的可能性。

这个怎么运作

Appium 驱动各种原生自动化框架,并提供基于 Selenium 的 WebDriver JSON 有线协议的 API。

Appium 推出 Apple 的 UIAutomation 库,用于 iOS 10 之前的版本,该版本基于 Dan Cuellar 在 iOS Auto 上工作。随着 UIAutomation 库的弃用,所有 iOS 10 和未来版本都由 XCUITest 框架驱动。

Android 支持使用 UiAutomator 框架用于较新的平台,而 Selendroid 用于较旧的 Android 平台。

FirefoxOS 支持利用 Marionette ,这是一个与 WebDriver 兼容的自动化驱动程序,用于自动化基于 Gecko 的平台。