基于Appium与Python的APP论文_李小惠

基于Appium与Python的APP论文_李小惠

身份证号码:44162119860407702X

摘要:随着我国科学技术水平的不断发展,计算机行业以及软件测试行业也在不断发展和进步,传统的手工测试已不能满足日益增长的软件测试要求,新兴的自动化测试技术以其便于回归测试、重复测试、复杂测试等优势已经成为软件测试中不可或缺的部分。而在UI自动化测试中,Appium自动化测试框架因其跨架构、跨平台、跨应用、跨语言特色,以及Python语言因其具有解释性、编译性、互动性、简洁性以及面向对象等脚本语言优势,在APP UI自动化测试中应用得尤其广泛。本篇文章浅述了APPium和Python语言在APP UI自动化测试技术研究中应用。

关键词:APPium;Python语言;UI自动化测试技术;APP UI自动化测试技术;

UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段,黑盒测试重要的一种手段。通过UI自动化测试能解决:1是解决重复性的功能测试及验证;2是避免疲惫操作时的人为测试遗漏;3是通过UI自动化操作获取其他测试数据的能力;4是替代部分手工测试以提升测试效率。降低成本。APP UI自动化测试,顾名思义,即通过模拟手动操作APP界面的方式进行自动化测试,是UI 自动化测试技术的扩展,已成为APP UI功能测试必不可少的测试手段。那么如何才能开展APP UI自动化测试呢?本文以选取APPium自动化测试框架和Python开发语言两者来开展技术研究和实践应用。

一、选择Appium自动化测试框架的原因

常用的UI自动化框架包括webdriver、RobotFramework、selenium插件、QTP,而常用的APP UI自动化框架则包括:UiAutomator,Robotium,Appium等等,它们都是通过页面元素一些属性来定位页面元素,来实现用户一些日常操作行为的模拟操作,元素点击、拖动、截图等!

UiAutomator,基于UIAutomation的用户界面自动化测试框架,可以跨应用工作,谷歌亲生,仅支持Java语言;Robotium,基于Instrumentation开发出来的一套测试框架,可以把测试包和目标测试应用加载到同一个进程中进行,更偏向底层Unit Test;而Appium,首先跨平台,允许采用同一套API在不同的平台(IOS,Android)上编写测试代码,让测试套件在IOS和Android平台上实现代码复用成为可能,其次跨语言,支持Java、Python、C等多种语言,再次跨应用,可在多个APP之间自由跨越、操作。以下三种框架的优缺点对比如下图:

因此,采用Appium自动化框架来开展APP UI自动化测试为最佳选择。

二、选择Python语言的原因

首先,Python是一种解释型的语言,因此在使用Python语言进行关于UI自动化测试技术研究时,编译这个环节就没有了,这与PHP语言以及Perl语言极其相似;另外,Python是一种面向对象式的语言,因此基于Python语言的UI自动化测试技术研究时支持面向对象的风格或代码封装在对象的编程技术。

其次,Python语言面向对象用途比较广泛,第三方库数量庞大,对于很多功能而言,实现更加简单,能够完成更多的任务。Python可以作为一种动态语言脚本来使用,对于工程师而言,学习Python的编程语言其难度与成本较Java更低,因此,Phython语言对于工程师而言是一个非常好的选择。Python的资源库十分丰富,基本能满足工程师所有的开发需求,在进行Python语言的使用时,仅仅需要考虑,对应第三方资源库的提供的API,减少了实现API的过程,对于工程师而言,Python语言极大程度上节约了开发成本,减少了二次开发的情况发生[3]。

再次,Python语言开发效率更高,同样类型的任务其与其它开发软件相比节约了十倍到二十倍的时间,编程人员在Python语言的使用上,也直观感受并体现了这一观点。Python支持多种系统,linux、mac上都默认安装了Python,windows更不用说,当我们测试需要在各种平台运行脚本的时候,几乎不用考虑跨平台。

最后,对于测试工作而言,手工测试工作在其中占据主导地位,在语言的选用上,不能仅依靠某一种语言来实现,因此开发人员需要采用技术层面上更加简单并且效率更高的语言,Python语言是其中最好的选择。总的来说Python语言是一种对于初学者而言非常有好的语言,它支持广泛应用的开发,因此有利于UI自动化测试技术的研究[2]。

期刊文章分类查询,尽在期刊图书馆

三、Python语言的应用场景

Python语言在日常应用中,具备简单、易学、属于高层语言、免费开源且具备可移植性等优势。Python语言在阅读过程中就如同在读英语一样简单,虽然在书写要求上要比英语更加严格,这也是Python语言的最大优势之一。Python语言在使用上极为简单,所以该语言被广泛的应用各个计算机软件开发系统中的多个场景。其主要包括为:①Python语言应用于Web开发,目前市场上应用最广泛的Python web框架为Django,其主要优势为支持异步高并发框架以及短小精悍的框架,其中包括Tornado以及flask,bottle等;②Python语言应用于网络编程时,其主要优势为支持同样支持高并发的网络框架。且py3的引入,也使编程的过程变得更加简单;③Python语言在爬虫领域的应用,在该领域Python语言为最佳方式,其中包括Scrapy、Request、BeautifuSoap、urllib等;④Python语言的应用及其广泛,其中还包括计算机云计算领域、人工智能领域、自动化运维、金融分析、科学运算领域、游戏开发领域、桌面软件开发、网络软件开发等[3]。

四、基于APPium和Python语言的APP UI自动化测试

通过对APP UI自动化测试框架和开发语言的选取,那么如何开展具体的工作呢?

首先,搭建APP UI自动化测试环境。任何软件的开发或者测试都离不开开发或者测试环境,APP UI自动化测试亦一样,必须搭建测试环境,即搭建APPium和Python语言环境。比如APPium需安装对应的服务包,而支持这个必须得先安装Java1.8及以上版本;Python可选择2.7版本但因为2.7版本将于明年停止更新故建议采用最新3.X版本,同时选择一款较好的编辑器如Pycharm。

其次,构建软件自动化框架结构。构建自动化框架结构就好比开发一个软件,该软件有什么功能,结构层次如何,执行流程如何,只有设计好框架架构才能有效地、按照流程进行开发测试。在实际APP UI自动化测试中,我们构建了7层结构。第一层是Base, 封装公共方法类;第二层是Data,存放测试数据;第三层是Libs,存放依赖包;第四层是Method,用来定位元素;第五层Public,存放公共方法;第六层是TaseCase,存放脚本;第七层是Report存放测试报告和日志。

再次,设计用例编码规范。每种开发语言都有自己的编码规范,每个测试用例亦有自己的设计规则,而APP UI自动化测试就是要用Python语言编码实现测试用例,以编码语言代替手工进行自动化测试。其中有一点要说明的是用例开头需以test开头,否则无法被识别、被测试。在实际项目中,可以test+测试用例编号进行组合。

最后,实现一次编码无限次循环执行。在完成第一、二、三步工作后,即可开展具体编码工作,完成后不限制时间、地点、次数进行无限次执行并输出结果,如启动一个apk开展功能并输出报告,如下图:

五、自动化测试的优势

随着互联网技术的不断发展,软件已经被广泛应用在人们生活当中,人们对计算机软件开发要求也越来越高,计算机软件开发技术需要通过软件测试来保证其质量,UI是现代计算机软件开发系统中极其重要的一个组成部分,正因如此,UI自动化测试技术在软件开发与测试中占有极其重要的位置。自动化测试工具可以最大程度上提高软件测试的效率,确保软件的质量,对于软件而言,其可信度更高。并且自动化测试技术与手工测试技术相比,能够有效解决手工测试技术中的困难点,包括实现手工测试技术无法实现的并发、压力、崩溃性测试等。自动化技术的应用在软件开发的共层中,有效减少了重复劳动的时间,自动化测试对于软件测试而言还节约了很多测试成本。

六、结束语

当今社会环境,对于计算机软件技术以及计算机软件要求越来越高,自动化测试技术的应用能够对计算机软件技术以及计算机软件的质量进行保障,不断优化自动化测试技术,利用好APPium和Python语言的APP UI自动化测试技术的优势,将其广泛的应用在计算机软件开发技术当中,能够有效促进我国的经济发展,与社会进步。

参考文献

[1]黄建军, 李宥谋, 刘婧,等. 基于Python语言的自动化测试系统的设计与实现[J]. 现代电子技术, 2017, 40(4):39-43.

[2]佚名. 基于RobotFramework的Django框架自动化测试研究与应用[J]. 湖南工程学院学报:自然科学版, 2019(1):41-44.

[3]何秋芸. 基于图像处理提高GUI程序自动化测试效率[J]. 电子测试, 2017(10x):60-61.

[4]成孝俊. Python语言下的自动化测试系统设计[J]. 江苏科技信息, 2017(33):59-61.

[5]华剑南. Python语言在自动化测试系统中的应用[J]. 电子技术与软件工程, 2017(8):252-252.

论文作者:李小惠

论文发表刊物:《防护工程》2019年12期

论文发表时间:2019/9/1

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于Appium与Python的APP论文_李小惠
下载Doc文档

猜你喜欢