Appium 和 Selenium 都是自动化测试工具,但它们在应用场景、操作对象和工作方式等方面有明显的区别。
1. 应用场景
- Appium: - 主要用于移动应用(包括 Android 和 iOS 应用)的自动化测试。例如,测试移动应用中的用户登录、注册功能,检查购物车的添加和删除商品操作,以及验证移动应用在不同设备尺寸和操作系统版本下的兼容性等。它能够很好地模拟用户在移动设备上的各种操作,如触摸屏幕、滑动、长按等,以确保移动应用的功能完整性和用户体验。
- Selenium: - 专注于 Web 应用的自动化测试。比如,对网页上的表单提交、链接跳转、按钮点击等操作进行测试。可以用来验证网页在不同浏览器(如 Chrome、Firefox、Safari 等)中的显示效果和功能是否正常,确保 Web 应用的跨浏览器兼容性。
2. 操作对象
- Appium: - 操作对象是移动应用的原生组件。对于 Android 应用,它可以直接操作安卓的原生视图元素,如通过识别和操作
TextView
(文本视图)、Button
(按钮)等组件来进行测试;对于 iOS 应用,它能够与 iOS 的原生视图元素交互,如UILabel
(标签)、UIButton
(按钮)等。这些原生组件的操作使得 Appium 能够深入到移动应用内部,提供精准的测试。 - Selenium: - 主要操作的是 Web 页面中的 HTML 元素。例如,通过定位和操作
<input>
标签(用于输入框)、<a>
标签(用于链接)、<button>
标签(用于按钮)等来模拟用户在网页上的行为。它的操作基于浏览器对 HTML 和 JavaScript 的解析,通过浏览器的开发者工具可以方便地查看和定位这些元素。
3. 工作方式
- Appium: - 利用移动设备原生的自动化框架来实现测试。在 Android 上,它基于 UIAutomator(对于较新版本的 Android)或 UIAutomator2(更常用)来与设备交互;在 iOS 上,它通过 XCUITest(用于 iOS 9 及以上版本)与设备通信。Appium 服务器作为一个中间层,接收测试脚本发送的指令,然后将这些指令传递给对应的原生自动化框架,由原生框架在设备上执行实际的操作。
- Selenium: - 通过浏览器驱动(如 ChromeDriver 用于 Chrome 浏览器、GeckoDriver 用于 Firefox 浏览器等)来控制浏览器。测试脚本发送指令给 Selenium WebDriver,WebDriver 再将指令传递给相应的浏览器驱动,浏览器驱动在浏览器内部执行操作,如加载网页、查找元素、执行 JavaScript 代码等。这种方式使得 Selenium 能够在不同的浏览器环境中模拟用户的浏览行为。
4. 配置和环境要求
- Appium: - 需要安装 Appium 服务器,并根据测试的移动设备类型(Android 或 iOS)配置相应的开发环境。对于 Android,需要安装 Android SDK 并配置好相关的环境变量;对于 iOS,需要安装 Xcode(在 Mac 系统上)以及相关的证书和配置文件。此外,还需要在移动设备上开启相应的开发者选项和 USB 调试(对于 Android)或信任测试电脑(对于 iOS)。
- Selenium: - 主要需要安装对应的浏览器驱动,并确保浏览器本身已经安装在测试机器上。不同的浏览器需要不同的驱动,并且驱动的版本需要与浏览器版本相匹配。同时,需要在测试项目中引入 Selenium WebDriver 的库,以便编写测试脚本。
注:之前用selenium来做过爬虫^-^
本文转载自: https://blog.csdn.net/m0_47120688/article/details/143951226
版权归原作者 bread_001 所有, 如有侵权,请联系我们删除。
版权归原作者 bread_001 所有, 如有侵权,请联系我们删除。