Selenium 和 Appium 有啥区别?

Posted

技术标签:

【中文标题】Selenium 和 Appium 有啥区别?【英文标题】:What is difference between Selenium and Appium?Selenium 和 Appium 有什么区别? 【发布时间】:2016-05-17 03:59:14 【问题描述】:

我看不出 Selenium 和 Appium 之间的确切区别。这两个服务器和框架都对吗?

但是我在 github 中看到很多代码,当使用 appium 时,但示例代码只包含 selenium webdriver 元素。请有人告诉我两个工具。所以我们同时使用 appium 和 selenium?

谢谢,

【问题讨论】:

【参考方案1】:

selenium 和 appium 的基本区别

Appium:

    用于移动应用(android & ios)。 有特定的驱动程序,例如:AndroidDriver 和 IOSDriver

如果你想在 android 中运行低于 17 api 的自动化,你必须使用 selendroid。

硒:

    用于移动网络应用。 它具有在 Web 应用程序上运行的 Web 驱动程序。

常见的事情:

    两者都是开源的。 两者都可以自定义。 两者都使用 Json-Wire 协议。

详情请参考https://www.quora.com/Which-one-is-better-Selenium-or-Appium-for-app-testing

【讨论】:

【参考方案2】:

Appium 是 Selenium 测试本机应用程序(IOS 和 Android)的外壳。来自 Appium introduction

...将供应商提供的框架包装在一个 API 中,即 WebDriver API。 WebDriver(又名“Selenium WebDriver”)指定客户端-服务器协议(称为 JSON Wire Protocol)。 ...换句话说,Appium 和 WebDriver 客户端在技术上并不是“测试框架”——它们是“自动化库”。

...WebDriver 已成为自动化 Web 浏览器的事实标准,并且是 W3C 工作草案。为什么要为移动设备做一些完全不同的事情?相反,我们使用对移动自动化有用的额外 API 方法扩展了协议。

【讨论】:

【参考方案3】:

简而言之,Appium 是一个适用于所有人的移动测试自动化框架(带有一个工具):适用于 iOS 和 Android 的原生、混合和移动网络应用程序。 Appium 是测试自动化框架的绝佳选择,因为它可用于所有这些不同的应用程序/Web 类型。基本上,Appium 源于 Selenium,它在内部使用 JSONWireProtocol 与使用 Selenium 的 WebDriver 的 iOS 和 Android 应用程序进行交互。

【讨论】:

【参考方案4】:

Selenium 既适用于与 appium 封装的情况,也适用于移动自动化,也适用于网络自动化

【讨论】:

以上是关于Selenium 和 Appium 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Appium-XCUITest-Driver 和 appium-dotnet-driver 有啥区别?

UI Automator 和 driver.swipe via appium 有啥区别

appium和uiautomator的区别

Selenium 中的 WebDriver 和 WebElement 有啥区别?

请问Java SE EE ME等有啥区别?

selenium.wait()、selenium.wait(2000) 和 Thread.sleep(2000) 有啥区别? [复制]