appium自动化测试视频教程,appium+python自动化测试教程

  appium自动化测试视频教程,appium+python自动化测试教程

  app ium automation1. Appium组件Appium Server的工作原理

  Appium是一个C/S结构,包括服务器和客户端。Appium Server是Appium的服务器端,由Node.js实现为Web接口服务。

  Appium Desktop

  App Server的图形界面可以设置为启动或停止服务器,查看日志,使用inspect查看应用程序元素。

  Appium Client

  Appium客户端作为客户端,将向服务器Appium Server发送请求会话,以执行自动化任务。使用浏览器访问网页,可以使用不同的客户端浏览器(IE/Firefox/Chrome.)访问同一网站,并向服务器发送请求以获取数据。

  2.操作原理Appium是在移动操作系统自带的测试框架的基础上实现的。Android和iOS系统上使用的工具如下:

  Android(4.3版):UIAutomator,Android 4.3之后系统自带的UI自动测试工具。

  Android(版本 4.3):Selendroid,基于Android Instrumentation框架的自动化测试工具。

  IOS:UI Automation(Instruments框架中的一个模板),IOS系统自带的UI自动化测试工具。

  操作原理如下:

  (1)客户端运行脚本时,调用任何一个appiumAPI都会向Appium服务器发布一个HTTP请求,请求的内容是一个符合webdriver wire协议的JSON格式数据;

  当appium服务器开启时,监控端口开启。Appium服务器收到请求后,解析JSON数据并发送到手机。

  手机上已经被bootstrap . jar(iOS版为BootStrip.js)打开的socket服务器监听对应的端口。每次会话appium第一次访问手机时会自动安装Bootstrap.jar

  手机收到相应的请求后,通过BootStrap.jar将其翻译成UIAutomator可以执行的命令,然后通过UIAutomator对APP进行处理和操作,完成测试。

  3.Appium中的几个重要概念

  客户端实际上是发起命令的一端。狭义上可以理解为用python、java等编写的代码。

  appserver:专门用于监控和接收来自客户端的请求,转发请求并控制移动设备执行测试。默认情况下,4723接口处于开启和监控状态。

  会话会话是一个会话。在appium中,所有工作都可以在会话开始后完成。要启动一个会话,您需要传递所需的功能来获得一个全局惟一的会话id,它指定了您的浏览器或移动设备。

  所需功能是发送到Appium服务器的键-值对(如map或hash)的集合,它告诉服务器我们想要启动哪种类型的自动化会话。

  它告诉appium server类似这样的内容:

  这个测试是启动浏览器还是移动设备?

  要启动Andorid还是iOS?

  启动Android时,App的包是什么?

  启动Android时,App的活跃度如何?

  引导程序:

  首先,bootstrap是uiautomator的测试脚本,其入口类bootstrap继承自uiautomatorTestCase,所以uiautomator可以正常运行,也可以正常使用Uiautomator的方法,这是appium命令可以转换成Uiautomator的关键;

  其次,bootstrap是socket服务器,从4724端口监听appium的连接和命令数据,将appium命令转换成uiautomator命令,供uiautomator处理;

  最后,bootstrap处理从PC发送的命令。

  如图,APP的架构原理由客户端和服务器组成,客户端和服务器通过JSON进行通信。

  转载:

  一、钋装载流程图

  app的加载过程

  1)调用Android adb完成基本系统操作。

  2)将bootstrap.jar部署到Android

  3)Bootstrap.jar转发Android端口到PC机

  4)Pc上的监控端口使用webdriver协议接收请求。

  5)解析命令,通过转发端口发送到bootstrap.jar。

  6)Bootstrap.jar接收请求并将命令发送给uiautomator。

  7)Uiautomator执行命令

  二、初步了解appium的工作流程

  1.appium是c/s模式。

  2.appium是基于webdriver协议的移动设备自动化api的扩展,因此具有与webdriver相同的特性,比如多语言支持。

  3.webdriver基于http协议。第一个连接会建立一个session会话,通过post发送一个json通知服务器相关的测试信息。

  4.对于android来说,4.2以后是基于uiautomator框架来查找注入事件,4.2以前是基于instrumentation框架,封装成一个叫Selendroid的服务。

  5.客户端只需要发送http请求就可以实现通信,也就是说客户端是多语言的。

  6.appium server是node.js写的,所以不管安装哪个平台都要先安装node,然后npm install -g appium (FQ墙)

  三。自举简介

  1)自举功能:

  Bootstrap是Appium在Android目标测试机上运行的一个UiAutomator测试脚本。这个脚本唯一做的事情就是在目标机器上打开一个socket服务器,将Appium在会话中从PC发送的命令发送到UiAutomator进行处理。

  它将侦听端口4724以获取命令,然后将它们传递给UiAutomator进行处理。

  2)Bootstrap在appium激动人心的一天:

  首先,bootstrap是uiautomator的测试脚本,它的入口类Bootstrap继承自uiautomatorTestCase,所以Uiautomator可以正常运行,也可以正常使用Uiautomator的方法。这是appium命令可以转换成uiautomator命令的关键;

  其次,bootstrap是socket服务器,从4724端口监听appium的连接和命令数据,将appium命令转换成uiautomator命令,供uiautomator处理;

  最后,bootstrap处理来自pc的命令,而不是文件。

  四。使用的技术

  Android使用两套技术,instrumentation和uiautomator。

  使用iOS自动化

  它还支持firefox,并可以扩展到其他平台。

  打开默认端口4723以接受webdriver请求。4723是appium服务,处理脚本。

  默认打开4724与Android设备通信。

  动词(verb的缩写)能力

  Capabilities是一组由客户端发送到Appium服务器的键值对,用来告诉服务器我们想要启动哪个会话。还有一些键-值对用于在自动化过程中修改服务器的行为。

  六、自我理解的工作原则

  Appium启动时会创建一个http: 127.0.0.1: 4723/wd/hub服务器(相当于中转站)。脚本会告诉服务器我要做什么,然后服务器会处理设备。服务器完成脚本交给他的任务后,

  服务器如何与设备通信?

  如果服务器默认使用端口4724与设备通信,底层调用uiautomator工具。在测试过程中,服务器将向设备抛出一个jar包appiumbootstrap.jar,并启动这个包。启动后会在手机上创建一个socket服务,暴露4724的端口;与socket服务相比,appium server是客户端;

  服务器上的4724可以修改,设备上不行;服务器收到脚本的命令后,通过计算机上的4724端口将命令发送到设备的4724端口。appiumbootstrap.jar收到命令后返回点击,滑动其他操作,然后通过服务给服务器一个相应的服务。服务器收到之后,转到相应的脚本

  服务器如何与脚本通信?

  通过接口访问意味着服务器和脚本可以分离,只要访问地址127.0.0.1:4723即可。

  个人理解

  大概,脚本就是客户端,向appium server发送请求,服务器会提前在手机上推送一个应用,这个应用会建立一个服务。appium此时通过adb forward将脚本请求转发到手机上的服务器。手机上的服务器收到请求后,驱动手机执行自动动作。基本上,脚本就是客户端。请求被发送到appium server,它是服务器和客户端。将预先在移动电话上建立一个服务来接收转发的请求。手机收到后,会进行自动操作。

  旧版和新版的区别在于部署到手机上的服务器不一样。从之前的socket服务器变成了netty服务器,端口也不一样了。其他的基本都一样。

  webview页面使用chromdriver与手机上的webview系统进行通信。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • android自动化测试框架有哪些,ios手机自动化测试工具,Android和iOS 测试五个最好的开源自动化工具
  • ,,如何使用IOS自动化测试工具UIAutomation
  • android自动化测试框架有哪些,ios手机自动化测试工具
  • ,,Python自动化测试框架pytest的详解安装与运行
  • ,,python自动化测试之DDT数据驱动的实现代码
  • selenium+java自动化测试框架,selenium自动化测试pdf
  • java自动化测试框架,java 自动化测试工具
  • 接口自动化测试面试问题,关于接口测试面试题
  • 自动化测试工具可以用在哪种测试过程中,测试自动化工具有哪些
  • airtest和appium自动化测试,airtest全自动脚本
  • 测试自动化面试问题及答案,自动化测试面试题及答案大全(3)
  • 自动化测试框架是什么,什么叫自动化测试框架
  • python+selenium自动化测试框架搭建,selenium自动化测试环境搭建
  • 接口测试与接口自动化测试,接口自动化测试项目实战
  • appium自动化测试环境搭建,python appium自动化测试框架
  • 留言与评论(共有 条评论)
       
    验证码: