最全Appium-移动端自动测试框架,如何入门?_移动端自动化有必要做吗,2024年最新2024软件测试面试心得

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

Android 上使用了 instrumentation 和 uiautomator 两套技术
Appium 在 4.1 以上使用 uiautomator
4.1 以下使用 selendroid
iOS 使用 uiautomation
支持 firefox

Appium 在 IOS 上的架构:

Appium 在 Andiord 上的架构:

Appium 基本概念

(1) Client/Server Architecture

appium 的核心其实是一个暴露了一系列 REST API 的 server。这个 server 的功能其实很简单:监听一个端口,然后接收由 client 发送来的 command。翻译这些 command,把这些 command 转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些 command 后把执行结果返回给 appium server,appium server 再把执行结果返回给 client。

在这里 client 其实就是发起 command 的设备,一般来说就是我们代码执行的机器,执行 appium 测试代码的机器。狭义点理解,可以把 client 理解成是代码,这些代码可以是 java/ruby/python/js 的,只要它实现了 webdriver 标准协议就可以。这样的设计思想带来了一些好处:

可以带来多语言的支持;
可以把 server 放在任意机器上,哪怕是云服务器都可以;(是的,appium 和 webdriver 天生适合云测试)。

(2) Session

session 就是一个会话,在 webdriver/appium,你的所有工作永远都是在session start 后才可以进行的。一般来说,通过 POST /session 这个 URL,然后传入 Desired Capabilities 就可以开启 session 了。

开启 session 后,会返回一个全局唯一的 session id,以后几乎所有的请求都必须带上这个 session id,因为这个 seesion id 代表了你所打开的浏览器或者是移动设备的模拟器。

进一步思考一下,由于 session id 是全局唯一,那么在同一台机器上启动多个 session 就变成了可能,这也就是 selenium gird 所依赖的具体理论根据。

(3) Desired Capabilities

Desired Capabilities 携带了一些配置信息。从本质上讲,这个东东是key-value 形式的对象。你可以理解成是 java 里的 map,python 里的字典,ruby 里的 hash 以及 js 里的 json 对象。实际上 Desired Capabilities 在传输时就是json 对象。

Desired Capabilities 最重要的作用是告诉 server 本次测试的上下文。这次是要进行浏览器测试还是移动端测试?如果是移动端测试的话是测试android 还是 ios,如果测试 android 的话那么我们要测试哪个 app? server 的这些疑问 Desired Capabilities 都必须给予解答,否则 server 不买账,自然就无法完成移动 app 或者是浏览器的启动。

(4) Appium Server

Appium Server 就是每次我们在命令行用 appium 命令打开的东西。

(5) Appium Clients

由于原生的 webdriver api 是为 web 端设计的,因此在移动端用起来会有点不伦不类。 appium 官方提供了一套 appium client , 涵盖多种语言ruby/java/python,在我看来 ruby client 是实现最好的。在测试的时候,一般要使用这些 client 库去替换原生的 webdriver 库。这实际上不是替换,算是client 对原生 webdriver 进行了一些移动端的扩展,加入了一些方便的方法, 比如 swipe 之类,appium client 让我们可以更方便的写出可读性更好的测试用例。

(6) Appium.app, Appium.exe

appium server 的 GUI 版本,前者用在 osx 上,后者是 windows 上。可视化、不需要装 node,可以看 app 的 UI 结构是这个东东的卖点。

Appium 与 Selenium
Selenium2 又叫 Selenium Webdriver
Appium Clients 扩展了 Selenium 的 WebDriver API
Appium Server 实现了 Selenium 中存在的大 部分方法,它属于 Selenium 的第三方 webdriver

Appium 环境搭建

学习 appium 最大的难处之一在于环境的安装,安装流程比较繁琐,安装的工具和步骤也较多,以下是基于 Windows 系统下的 Android 手机端的安装流程。就像我们在用 Selenium 进行 web 自动化测试的时候一样,我们需要一个浏览器来执行测试脚本。那么移动端自动化测试,我们同样需要一部 Android 手机(手机需要链接电脑)或者 Android 模拟器。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

00ff254613a03fab5e56a57acb)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值