资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Appium基础认识-创新互联

    本文介绍了Appium相关的一些工具的概念以及彼此的关系,方便对appium有一个总体的认识。内容包括了JUnit,TestNG简介以及Appium的基本工作原理。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站建设、金门网络推广、成都小程序开发、金门网络营销、金门企业策划、金门品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供金门建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

自动化工具的比较:

Appium主流语言开源社区良好,跨平台
Xamarin Test CloudC#、ruby开源,Xamarin Test Recorder非常好用。配套完整,和AWS Device Farm类似的真实手机云测试。
Xamarin的目的是使用C#开发Android、IOS等移动原生应用
EggplantSenseTalk企业服务收费,不开源。可以发邮件索要体验账号

备注:由于需要在AWS Device Farm上进行自动化测试而其支持Appium,所以采用Appium。

JUnit:Java测试框架,最常见于单元测试,最初针对单元代码

TestNG:Java测试框架,消除JUnit的许多限制,更灵活,适用于大型项目。最初设计于高级测试。

Selenium:

1、web应用程序的自动化测试工具,直接运行在浏览器中

2、基于Client/Server架构,所以理论上支持所有语言

Appium:

1、可以看做Selenium在移动端的扩展

2、开源、跨平台的UI自动化测试工具

3、支持IOS、Android、FireOS平台上的原生、web应用和混合应用。

4、无需修改现有应用的任何信息

5、无语言限制,基于C/S架构,理论上支持所有编程语言

Appium工作原理:

真正执行自动化的工作引擎是平台相关的自动化框架(无需修改应用的原因)

IOS(XCode6+):UIAutomation(弃用)

IOS(XCode8+):XCUITest

Android2.3+:Google’s Instrumentation(由单独对的Selendroid提供)

Android4.2+:Google’s UIAutomator

Appium基础认识Appium基础认识

工作原理示意图

Appium基础认识

appium-client:

1、可以理解为我们借助appium-client库写的测试代码

2、appium-client如java-client、python-client等是对Selenium Client扩展的库,方便使用

3、整个流程:建立Session,执行测试,销毁Session

appium-server:

1、解析client发来的命令请求

2、将请求发送到device上

3、device上的中间件如:Android上的bootstrap将请求转换成device执行完毕返回server,server再返回给client

device:

1、Android Emulator

2、Android Phone

3、IOS Simulator

4、IOS Phone

如何写测试代码:

1、根据你选择的编程语言,选择官方提供的对应的client(API),如java-client。

2、选择合适的测试框架如JUnit,TestNG等编写测试代码

3、搭建Appium Server,使用appium-doctor验证环境可用。

4、连接物理、模拟设备,执行代码

Appium和JUnit、TestNG的关系(框架是啥!)

1、Appium可以理解为一套工具,包括一个运行在服务端的Appium-Server,以及一套API用于与Server通信。Client通过API向Server发送请求,Server将请求发送到Device,Device上的中间件如Android上的bootstrap或IOS上的WebDriverAgent,会把请求转化为平台相关的自动化操作在Device上执行。

2、不一定非要JUnit或TestNG,如果选择python也可以用unittest等。甚至不使用任何框架,在Java中直接在main函数中完成Session的创建,测试代码的执行,Session的销毁的整个流程。可是这就丢失了使用测试框架的好处。

3、自动化测试优先选择TestNG,网上普遍说:JUnit是单元测试的选,而TestNG相对于JUnit更适合其他类型的测试。我的原因是:AWS Device Farm同时支持JUnit和TestNG,但总是先把JUnit转换成TestNG代码再执行的。另外AWS官方示例代码使用的就是TestNG。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:Appium基础认识-创新互联
链接分享:http://cdkjz.cn/article/degeog.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220