Appium简介

Appium简介,第1张

概述Appium简介Appiumisanopensourcetestautomationframeworkforusewithnative,hybridandmobilewebapps.ItdrivesiOS,Android,andWindowsappsusingtheWebDriverprotocol.Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用Web Appium简介@H_301_4@Appium is an open source test automation framework for use with native, hybrID and mobile web apps. It drives iOS, AndroID, and windows apps using the WebDriver protocol.

@H_301_4@Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,AndroID和windows应用程序。

Appium官网Appium github主页官方中文文档Appium官方论坛Testerhome中文社区可以跨平台同时支持androID、ios支持多种语言,java、python、PHP、Ruby等等不用为复杂的环境发愁如果你有selenium经验,直接上手。Appium优势Appium自动化 *** 作演示@H_301_4@纸上谈兵终觉浅绝知此事要躬行,详见视频教程演示

演示场景自动安装考研帮App(kaoyan3.1.0.apk),然后启动App检测是否有升级d窗,如果有则点击取消按钮,然后检测是否有引导页面,如果有则自动点击跳过按钮Appium架构原理@H_301_4@Appium是在手机 *** 作系统自带的测试框架基础上实现的,AndroID和iOS的系统上使用的工具分别如下:

AndroID(版本>4.3):UIautomator,AndroID 4.3之后系统自带的UI自动化测试工具。AndroID(版本≤4.3):SelendroID,基于AndroID Instrumentation框架实现的自动化测试工具。·iOS:UIautomation(instruments框架里面的一个模板),iOS系统自带的UI自动化测试工具。@H_301_4@ 

 

 

运行原理@H_301_4@我们的电脑(clIEnt)上运行自动化测试脚本,调用的是webdriver的接口,appium server接收到我们clIEnt上发送过来的命令后他会将这些命令转换为UIautomator认识的命令,然后由UIautomator来在设备上执行自动化。

@H_301_4@Appium的架构原理如上图所示,由客户端(Appium ClIEnt)和服务器(Appium Server)两部分组成,客户端与服务器端通过JsON Wire Protocol进行通信。

Appium服务器@H_301_4@Appium服务器是Appium框架的核心。它是一个基于Node.Js实现的http服务器。Appium服务器的主要功能是接受从Appium客户端发起的连接,监听从客户端发送来的命令,将命令发送给bootstrap.jar(iOS手机为bootstrap.Js)执行,并将命令的执行结果通过http应答反馈给Appium客户端。

bootstrap.jar。@H_301_4@bootstrap.jar是在AndroID手机上运行的一个应用程序,它在手机上扮演TCP服务器的角色。当Appium服务器需要运行命令时,Appium服务器会与bootstrap.jar建立TCP通信,并把命令发送给bootstrap.jar;bootstrap.jar负责运行测试命令。

Appium客户端。@H_301_4@它主要是指实现了Appium功能的WebDriver协议的客户端library,它负责与Appium服务器建立连接,并将测试脚本的指令发送到Appium服务器。现有的客户端library有多种语言的实现,包括Ruby、Python、Java、JavaScript(Node.Js)、Object C、PHP和C#。Appium的测试是在这些library的基础上进行开发的。

Appium组件Appium Server@H_301_4@Appium Server就是Appium的服务端——一个web接口服务,使用Node.Js实现。引用官网解释说明。

@H_301_4@Appium is a server written in Node.Js. It can be built and installed from source or installed directly from NPM:

$ npm install -g appium

$ appium

Appium Desktop@H_301_4@Appium Desktop是一款适用于Mac,windows和linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。 它是几个Appium相关工具的组合:

Appium Server的图形界面。 您可以设置选项,启动/停止服务器,查看日志等...您也不需要使用Node 的NPM来安装Appium,因为Node运行时与Appium Desktop捆绑在一起。您可以使用Inspector查看应用程序的元素,获取有关它们的基本信息,并与它们进行基本的交互。@H_301_4@ 

 

 

 

 

@H_301_4@ 

注意@H_301_4@Appium Desktop与Appium不同。 Appium Desktop是Appium的图形前端,带有其他工具。 Appium Desktop以其自己的节奏发布,并拥有自己的版本控制系统。 就像国内很多定制的AndroID系统有自己版本号,但是都是基于一个AndroID系统版本封装的。版本号不一定与Andriod原生系统版本号一致。如:魅族的flyme6.0系统的内核是AndroID 5.1

Appium GUI@H_301_4@Appium GUI是Appium desktop的前身。 这个也是把Appium server封装成了一个图形界面,降低使用门槛,如同最初的 *** 作系统Dos都是敲命令,后面都是图形界面 *** 作系统,如windows系统。很多初学者对下面这个界面应该不陌生吧,这个就是windows版本的Appium GUI界面。测试人员可以手动启动,配置相关server 服务,如果不用这个启动的话,需要命令启动服务。因为大部分教程都是基于这个GUI来讲解的,所以很多人一说Appium就认为是这个。

@H_301_4@该产品的windows版本在2015年的AppiumForwindows_1_4_16_1.zip之后就停止更新了。目前版本可以使用,但是封装的不是最新的Appium版本,而是1.4.16版本。如果要使用最新的桌面版需要使用Appium Desktop。

@H_301_4@历史版本下载

@H_301_4@ 

 

 

Appium ClIEnts@H_301_4@因为Appium是一个C/S结构,有了服务端的肯定还有客户端,Appium ClIEnts就是客户端,它会给服务端Appium Server发送请求会话来执行自动化任务。就像我们浏览器访问网页,浏览器是客户端,通过 *** 作发送请求服务器来获取数据。我们可以使用不同的客户端浏览器(IE,firefox,Chrome)访问一个网站。 Appium客户端可以使用不同的语言来实现,如Python,java等。具体详见下表:

Language/Framework

Github Repo and Installation Instructions

Ruby

https://github.com/appium/ruby_lib

Python

https://github.com/appium/python-client

Java

https://github.com/appium/java-client

JavaScript (Node.Js)

https://github.com/admc/wd

Objective C

https://github.com/appium/selenium-objective-c

PHP

https://github.com/appium/php-client

C# (.NET)

https://github.com/appium/appium-dotnet-driver

RobotFramework

https://github.com/jollychang/robotframework-appiumlibrary

 

 

 

 

 

 

 

 

 

 

 

 

Appium-desktop@H_301_4@Appium-desktop主界面包含三个菜单Simple,Advanced、Presets

Simplehost@H_301_4@设置Appium server的ip地址,本地调试可以将ip地址修改为127.0.0.1

port@H_301_4@设置端口号,默认是4723不用修改

start server@H_301_4@启动 Appium server

@H_301_4@ 

 

 

Advanced@H_301_4@高级参数配置修改,主要是一些AndroID和iOS设备,log路径等相关信息的配置。

@H_301_4@ 

@H_301_4@ 

 

 

 

 

presets@H_301_4@将Advanced中的一些配置信息作为预设配置。

启动Appium@H_301_4@启动后控制台提示如下信息,表示Appium启动成功。

 

[Appium] Welcome to Appium v1.7.2

[Appium] Non-default server args:

[Appium]   address: 127.0.0.1

[Appium] Appium REST http interface Listener started on 127.0.0.1:4723

@H_301_4@ 

参考资料@H_301_4@https://github.com/appium/appium-desktop

总结

以上是内存溢出为你收集整理的Appium简介全部内容,希望文章能够帮你解决Appium简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存