test ui-02-UI 测试组件之 Appium 入门介绍

这篇具有很好参考价值的文章主要介绍了test ui-02-UI 测试组件之 Appium 入门介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Appium简介

正如主页所述,Appium的目标是支持许多不同平台(移动、Web、桌面等)的UI自动化。

不仅如此,它还旨在支持用不同语言(JS、Java、Python等)编写的自动化代码。

将所有这些功能组合到一个程序中是一个非常艰巨的任务,如果不是不可能的话!

为了实现这一目标,Appium有效地分为四个部分:

  1. Appium核心 - 定义核心API
  2. 驱动程序 - 实现与特定平台的连接
  3. 客户端 - 用特定语言实现Appium的API
  4. 插件 - 更改或扩展Appium的核心功能

因此,要开始使用Appium进行自动化,您需要:

  1. 安装Appium本身
  2. 为目标平台安装一个驱动程序
  3. 为目标编程语言安装一个客户端库
  4. (可选)安装一个或多个插件

这些是基础知识!如果您准备好开始,可以继续查看快速入门!

如果您希望了解更多有关其工作原理的详细信息,请参阅以下页面以获取背景材料:

  • Appium核心
  • Appium驱动程序
  • Appium客户端

Appium工作原理

正如主页所述,Appium是一个开源项目和相关软件生态系统,旨在简化许多应用平台的UI自动化。随着Appium 2的发布,Appium有以下主要目标:

  1. 使平台特定的自动化功能在跨平台的标准API下可用。
  2. 允许从任何编程语言轻松访问此API。
  3. 提供工具以便方便地共同开发Appium扩展。

因此,无论您了解哪个应用平台,比如iOS或Android,Appium都希望开发人员和测试人员能够按照单一、统一的API编写该平台的UI自动化代码。基于Appium的目标,我们需要回答许多问题,以使所有这些都能正常工作:

  1. “单一、统一”的API应该是哪个?
  2. 我们如何将该API映射到特定平台的自动化行为?
  3. 我们如何使该API可通过多种流行的编程语言轻松访问?

在这里,还有一个更大的问题潜伏在背后,因为除了iOS和Android之外,还有更多的应用平台:

  1. 我们如何为所有平台启用自动化?

探索Appium对这些问题的回答可能不是了解Appium的最快方式,但肯定是一个很好的方式!所以让我们深入研究。

Appium客户端简介

如主要概览中所讨论的那样,Appium基于W3C WebDriver规范。

这意味着Appium实现了一个客户端-服务器架构。服务器(由Appium本身以及您用于自动化的任何驱动程序或插件组成)连接到测试设备,并实际负责在这些设备上执行自动化。

客户端(由您,Appium测试作者驱动)负责通过网络向服务器发送命令,并接收服务器的响应。

这些响应可用于判断自动化命令是否成功,或可能包含您查询应用程序状态的信息。这份文档是对此方程式中客户端部分的概念性介绍。

有关方程式的服务器端(即Appium如何实际控制设备?)的更多信息,请查看我们的Appium驱动程序简介。要跳转到Appium客户端库链接列表,请查看客户端列表。

有哪些自动化命令可用?这取决于您在任何给定会话中使用的特定驱动程序和插件。

例如,标准的命令集可能包括以下内容:

  • 查找元素

  • 点击元素

  • 获取页面源码

  • 获取屏幕截图

如果您查看WebDriver规范中的这些命令,您会注意到它们并没有根据任何特定的编程语言定义。

它们不是Java命令、JavaScript命令或Python命令。

相反,它们构成了一个HTTP API的一部分,可以从任何编程语言(或没有!如果您愿意,可以只使用cURL)中访问。

因此,例如,查找元素命令对应于发送到HTTP端点/session/:sessionid/element的HTTP POST请求(在这种情况下,:sessionid是服务器在先前调用Create Session时生成的唯一会话ID的占位符)。

这些信息主要对于开发与WebDriver规范兼容的技术的人员是有用的。对于试图编写Appium或Selenium测试的人来说,这并不特别有用。在编写Appium测试时,您希望使用熟悉的编程语言。幸运的是,存在一组Appium客户端库,负责与Appium服务器进行HTTP通信。它们不会直接暴露特定编程语言的HTTP细节,而是为特定编程语言公开了一组“本地”命令,使得对于测试作者来说,就感觉像是在编写Python、JavaScript或Java。

例如,以下是相同的一组简单的Appium命令,使用每种语言的推荐Appium客户端绑定(请注意,这不是包含所有适当导入的工作示例代码;请参阅每个客户端库的设置和命令参考文档):

const element = await driver.$('//*[@text="Foo"]');
await element.click();
console.log(await element.getText())
console.log(await driver.getPageSource())

这些脚本,尽管使用不同的编程语言编写,但在底层执行的是相同的操作:

  1. 使用xpath作为using参数,使用表达XPath查询的值参数调用Find Element。(如果您对这些术语感到困惑,您可能会发现介绍Appium或Selenium的内容很有用)
  2. 使用上一步调用中找到的元素的ID调用Click Element。
  3. 使用相同元素的ID调用Get Element Text,并将其打印到控制台。
  4. 调用Get Page Source检索页面/应用源代码,并将其打印到控制台。

在选择或使用客户端之前,需要注意的另一件事是每个客户端都是独立维护的。仅因为一个客户端中有某个功能,并不意味着另一个客户端也有(尽管所有客户端至少支持标准的W3C协议以及任何常见的Appium扩展)。仅因为一个客户端具有一套不错的辅助函数,并不意味着另一个客户端也有。有些客户端保持非常频繁的更新,而其他客户端则没有!因此,在选择库时,首要考虑的是要使用的编程语言,其次考虑的是库的功能齐全程度和维护情况如何!

要了解如何使用Appium客户端,请访问该客户端的主页以获取更多信息。在许多情况下,给定语言的Appium客户端是建立在该语言的Selenium客户端之上的,因此某些Appium客户端可能仅记录在Selenium客户端之上添加的功能。总之,为了获取完整的参考信息,您可能需要同时访问Appium客户端文档和Selenium客户端文档。

这就是关于Appium客户端的所有需要知道的内容!请转到客户端页面查看当前客户端列表。

test ui-02-UI 测试组件之 Appium 入门介绍,ui,appium,单元测试,unit testing,junit文章来源地址https://www.toymoban.com/news/detail-775196.html

到了这里,关于test ui-02-UI 测试组件之 Appium 入门介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UI自动化测试】appium+python+unittest+HTMLRunner

    进阶Python接口自动化测试必备教程(2023全网最详细) 简介  获取AppPackage和AppActivity  定位UI控件的工具  脚本结构  PageObject分层管理  HTMLTestRunner生成测试报告  启动appium server服务  以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机

    2024年02月16日
    浏览(37)
  • 【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner​

    简介  获取AppPackage和AppActivity  定位UI控件的工具  脚本结构  PageObject分层管理  HTMLTestRunner生成测试报告  启动appium server服务  以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 方法一 有源码的情况直接打开

    2024年02月11日
    浏览(38)
  • 【自动化测试】Pytest+Appium+Allure 做 UI 自动化的那些事

    文本主要介绍下 Pytest+Allure+Appium 记录一些过程和经历。 法主要用了啥: Python3 Appium Allure-pytest Pytest Appium 不常见却好用的方法 Appium 直接执行 adb shell 方法 #Appium 启动时增加 --relaxed-security 参数 Appium 即可执行类似adb shell的方法 appium -p 4723 --relaxed-security #使用方法 def adb_shell(se

    2024年01月25日
    浏览(36)
  • Appium Server GUI + Appium Inspector 定位UI元素

    下载 Appium Server GUI 安装包并完成安装,完成安装后启动,点击 startServer 快速启动 Appium 服务。 下载 Appium Inspector 安装包并完成安装,完成安装后启动,填入以下内容。 Remote Host = 127.0.0.1 Remote Port = 4723 Remote Path = /wd/hub Desired Capabilities 通过 adb 将手机连接到电脑,点击 Start S

    2024年02月12日
    浏览(25)
  • ui自动化-appium

    https://blog.csdn.net/weixin_43936332/category_12363745.html

    2024年04月24日
    浏览(23)
  • test mutation-02-变异测试 mutate-test-kata入门介绍

    开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) 开源 Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。) test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 使用变异测试来淘汰虚假单元测试 代码卡塔:使用变异测

    2024年02月02日
    浏览(33)
  • Appium,多应用程序平台的 UI 自动化

    Appium是一个开源的移动应用程序自动化测试工具,可以用于跨平台的UI自动化,包括iOS、Android、Web和Windows应用程序。它基于WebDriver协议,支持多种编程语言,如Java、Python、Ruby,Javascript、C#等。 Appium的设计理念是“一次编写,多次运行”。它允许开发人员使用相同的测试脚本

    2024年01月25日
    浏览(50)
  • appium脚本执行Android_UI自动化,app总是闪退回桌面

    1. 使用工具 appium python pycharm 2. 被测对象及设备 测试真机上的app 3. 遇到的问题 批量执行测试用例,执行到部分用例某一步骤时,app会自动退回手机桌面,并开始执行下一条用例,因上一条故障导致下一条用例找不到页面元素而执行失败(每次失败位置是随机的)。所有用例

    2024年02月16日
    浏览(32)
  • Appium-移动端自动测试框架,如何入门?

    Appium是一个开源跨平台 移动应用自动化测试框架。 既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下: 1、为什么要使用Appium? 2、如何搭建Appium工具环境?(超详细) 3、通过demo演示Appium的使用 4、Appium如何实现移动端UI自动化测试呢? 5、Appium视频类学习

    2024年02月12日
    浏览(29)
  • APP自动化测试系列之Appium介绍及运行原理

    在面试APP自动化时,有的面试官可能会问Appium的运行原理,以下介绍Appium运行原理。 Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用WebDriver协议驱动IOS,Android和Windows应用程序。 Appium是开源的移动端自动化测试框架; Appium可以测试原生的

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包