违规处理区 APP UI 界面自动化测试快速入门-Android (1)

小薇说测试 · 2019年03月17日 · 最后更新自管理员 思寒_seveniruby · 75 次阅读

一些理论

什么是APP UI界面自动化测试?

顾名思义,APP UI界面自动化测试,是针对app的UI界面进行的自动化测试。他通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段。在十年前,那时候还是PC web的天下,以Selenium驱动web UI的自动化测试还是主流。五年前,当测试人员逐渐熟悉了Selenium API编写UI自动化用例时,互联网的主战场已经从web端逐渐过渡到了app端。现在,app在UI自动化方面的框架已经比较成熟,例如我们已经使用了三年多的appium,还有诸如uiautomator、espresso、robotium等等。

app界面自动化测试能解决什么问题?

1、重复性的功能测试及验证

2、避免疲惫操作时的人为测试遗漏

3、通过UI自动化操作获取其他测试数据的能力

界面自动化测试优缺点是什么?

优点

1、实施起来较容易:很多同学都有过这种经历,刚开始接触测试开发时,都是先接触UI的自动化。UI的框架比较成熟,容易上手,相关学习文档比较全面。实施起来一般都不依赖于源码,是比较容易落地的一种自动化测试手段。

2、覆盖范围广:此项是重点。UI上的一次操作的函数触发数量可能会非常多,点击一个按钮,可能触发了内部的几十个或者更多的函数调用。从函数调用数量来看,和单元测试的一个单测用例检查一个函数的逻辑是不同的。UI操作检查的各个模块集成后模块之间的联动逻辑。是集成测试的有效手段,而单元测试是模块内部逻辑的检查。

缺点

缺点也是比较明显,随着敏捷迭代的速度越来越快,UI控件的频繁变更导致控件定位不稳定,提高了用例脚本的维护成本,同时定位的不稳定导致用例的可信度降低。

Appium

Appium简介

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

Appium理念

Appium实现自动化测试需要遵循以下四个理念:

(1)实现自动化测试时,不必重新编译或者以任何方式修改app;

(2)编写或运行测试case的时候可以使用多种语言;

(3)一个自动化测试框架不需要重造轮子;

(4)无论在精神上还是实践上,自动化框架都是开源的;

Appium设计原理

API接口调用Selenium的接口,Appium Server接收WebDriver标准请求,解析请求内容,调用对应的框架相应操作。代码将DesiredCapability中的键值对组合成一个JSON,然后通过HTTP协议发送到Appium服务器创建一个session.代码与Appium的所有交互都是围绕着这个session进行的。session创建成功后,Appium再通过USB接口与手机之间创建TCP连接,先安装一些服务端App,比如Android API 4.2+是uiautomator,Android 2.3+是Instrumentation手机的操作都是有Appium发送指令到uiautomator,然后再由uiautomator进行控制的。

最后

下一讲我们会聊聊APPIUM android自动化测试环境的安装方法。

关注微信号,了解更多关于自动化测试的知识。

加入QQ群320463587,加入app自动化的技术交流吧。

此贴已暂时被屏蔽!

以下几种情况的帖子可能会进入此节点:

  1. 不使用 markdown 写作 : https://testerhome.com/markdown
  2. 标题/正文描述不清不楚;
  3. 无意义的发帖;
  4. 存在广告嫌疑;
  5. 招聘信息描述不清楚,未按照招聘节点的要求发帖,或职位信息不符合社区 用户群需求;
  6. 新注册的帐号发布产品推广贴是不允许的哦,付出和回报是相等的,当然如果你的产品确实非常有意思,或是和测试有关的东西,是不会进入这个栏目的。

如果你发现你的帖子到了此节点下面,请自我检查反省,并修改帖子内容。

新人请阅读:https://testerhome.com/topics/982
学会如何合理提问,请阅读:https://testerhome.com/topics/587

当你修改好以后,可以回帖 @屏蔽你的同学 ,我们将会审核,通过以后才可恢复到其他节点。

注!多次发现广告嫌疑的帐号,将会被禁用帐号。

共收到 0 条回复 时间 点赞
思寒_seveniruby 屏蔽了此话题:广告 03月17日 23:20
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册