推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

Python 自动化测试在智能停车领域的应用

更新时间:2019-12-21 16:31:12 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python自动化测试智能停车 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

目前,随着经济的高速发展和私家车辆的快速增长,智能停车场快速出现在各大商场以及其他公共场合。智能停车场涉及到无人值守、自动车牌识别、高效进出、商家券、优惠券、VIP、快捷线上支付以及临时车和其他无牌车扫码等众多的选项,对智能停车场流程控制提出了考验。如何保证设计的智能停车系统和控制设备在各种各样的应用场景和选项中能够快速、准确地执行流程,控制设备,完成支付等功能,单靠测试人员的大批量手动场景测试已经不能满足要求。因此,提出并设计了基于Python和jenkins集成工具的智能停车系统流程自动化测试的软件和方法,能够快速、准确、完整地测试所有的应用场景和选项,保证了智能停车系统的准确性、完整性和高效性。


部分文件列表

文件名 大小
Python_自动化测试在智能停车领域的应用.pdf 2M

部分页面预览

(完整内容请下载后查看)
科技经济导刊 20192703)  
Technology and Economic Guide  
33  
.   .  
科技经济信息化  
Python 自动化测试在智能停车领域的应用  
夏 澎 1,喻 晓 2  
(1. 广东艾科智泊科技股份有限公司 研发部,广东 佛山 528137 ;2. 佛山职业技术学院 社会服务与科研处,广东 佛山 528137)  
[ 摘要 ] 目前,随着经济的高速发展和私家车辆的快速增长,智能停车场快速出现在各大商场以及其他公共场合。智能停车场涉  
及到无人值守、自动车牌识别、高效进出、商家券、优惠券、VIP、快捷线上支付以及临时车和其他无牌车扫码等众多的选项,  
对智能停车场流程控制提出了考验。如何保证设计的智能停车系统和控制设备在各种各样的应用场景和选项中能够快速、准确  
地执行流程,控制设备,完成支付等功能,单靠测试人员的大批量手动场景测试已经不能满足要求。因此,提出并设计了基于  
Python 和 jenkins 集成工具的智能停车系统流程自动化测试的软件和方法够快速整地测试所有的应用场景和选项,  
保证了智能停车系统的准确性、完整性和高效性。  
[ 关键词 ] 智能停车;自动化测试;Python  
[ 中图分类号 ] TP274ꢀꢀ[ 文献标识码 ] Cꢀꢀ[ 文章编号 ] 2096-1995(2019)03-0033-02  
随着私家车的快速增长,停车难问题越来越困扰着社会大  
众,如何快速便捷地停车和支付已经成为大众迫切想要解决的  
问题。在这一背景下,智能停车场成为了首选方式。在平常的  
生活和出行中,智能停车体现出了越来越高的使用价值和社会  
价值。智能停车场目前一般包括车牌自动拍照识别、自动进出  
车、微信或支付宝等自动线上支付或缴费机自助支付、现场远  
出入口一体机控制设备,道闸和其他的线上支付 APP,微信公  
众号入口等组成,集出入口、计费、道闸控制、语音显示、线  
上支付、现场支付、自助缴费机支付、微信出入提醒,优惠券  
领取于一体的停车系统。  
对于要满足上述功能的智能停车系统,完成全覆盖的自动  
化测试,需要针对 web 的智能停车系统进行黑盒测试,因为所  
程呼叫求助等达到完全的停车无人值守现停车智能化、 有的前置选项、计费规则、优惠、支付、数据、控制命令都在  
社区智慧物联的目的能停车系统涉及 VIP, 商家卷惠券、 其中。下面以智泊云为名来定义 web 停车系统,对外部设备和  
租车、临时车、无牌车、各种计费优惠规则、免费停车时长、  
多个绑定车牌、各种语音和显示提示、自动起竿、自动进出车  
等众多的前置选项。而在设计完一套能涵盖各种应用场景、各  
种车辆类型、各种停车计费规则等一系列流程的智能停车系统  
后,传统的人工测试无法保证完整、无误、快速的测试完所有  
的流程。因此,本文提出并设计了基于 Pyhon 和 jenkins 的自  
动化测试技术,经检验,该技术相比人工测试更加可靠,工作  
量大大减少,并且能够完成大批量的压力测试。  
接口环境采用 python 进行模拟。需要模拟的设备和接口环境包  
括:出入口一体机设备、模拟外部 web 操作接口、小程序推送  
接口、第三方开放平台接口、收费端接口,统一采用 python 编  
写并运行测试用例进行各种场景和流程规则进行自动化测试。  
为保证测试用例的数据和模拟的一体机、外部接口、模拟小程  
序能够在一个平台互联互通,系统采用通用的 MQTT 工具作为  
中间平台进行转发,实现数据的互连互通。既保证流程数据按  
照协议互通,也保证测试用例的数据指令能够快速地下发到一  
体机设备,同时通过 MQTT 接收测试用例中各设备返回的测试  
结果,作为判据进行判断此项测试是否通过。如图 1 所示。  
1 智能停车自动化测试设计  
目前,智能停车场一般包括 web 智能停车系统、摄像枪、  
jekins:  
172.18.33.2328080  
自动化测试  
用例  
172.18.41.100 (centos)  
通道:  
143 145(宽进宽出)  
144 166(严进严出)  
172.18.41.100  
centos  
172.18.56.105  
Centos  
(MQTT:EMQ)  
模拟外围接口访问(小  
程序推送接收/进出车  
接口/收费端接口/一点  
停开放平台)  
模拟设备:一体机  
MQTT  
智泊云  
(黑盒子)  
(测试环境)  
图 1 智能停车自动化测试数据走向图  
作者简介:夏澎,工学硕士,广东艾科智泊科技股份有限公司,高级软件工程师,研究方向为嵌入式 Linux 软件设计,Python 和人工智能;  
喻晓,工学硕士,佛山职业技术学院社会服务与科研处科长,讲师,研究方向为校企合作与协同创新。  
科技经济导刊 20192703)  
Technology and Economic Guide  
34  
.   .  
科技经济信息化  
将 Python 的测试用例集成到 jenkins 工具里,实现自动化  
定时,按照测试案例的顺序自动化测试,测试报告按照 jenkins  
的 junit 规则呈现 xml 格式的测试报告。  
以一个正常的进出车流程来介绍自动化测试的流程:  
车辆进场、抓拍、一体机提示、停车系统处理、记录停车记录、  
计时体机提示体机提示车完成。  
基于 jenkins 的 python 自动化测试处理流程如下图 2 所示:  
测试用例启动  
测试用例缴费  
进车  
模拟机提示一路顺风,  
起竿,信息发送给测试用例  
模拟一体机提示欢迎光临,  
起竿,信息发送给测试用例  
结束,生成测试报告  
测试用例判别是否正确  
Y
结束,  
生成测试报告  
测试用例判别是否正确  
测试用例查看出车记录  
图 3 jenkins 集成 python 测试用例设置  
Y
测试用例查看入车记录  
停车计时10秒  
出车  
测试结束  
生成测试报告  
模拟机提示请缴费XX  
,信息发送给测试用例  
结束,  
生成测试报告  
测试用例判断是否正确  
Y
图 2 基于 jinkins 的 python 停车自动化测试流程  
2 Jenkins 中集成 Python 自动化测试用例  
2.1 Python 测试案例编写  
Python 目前广泛用于人工智能、自动化测试、以及网络爬  
虫等新兴领域,各种支持库相当丰富,开发快速,能够快速搭  
建平台,实现所需功能,有“胶水语言”的称号,目前人工智  
能将 Python 为首选语言。本文采用 Pyhthon3.6 作为开发的平  
台。根据需要,相应的库需要 requests,ws4py(websocket 推送 ),  
time,urllib,websocket,json 等库。  
Python 的开发基于 window 环境,代码编写,运行开发工  
具采用 Pycharm, 方便快捷。开发完后可以移植到 Linux 环境中  
进行运行。本系统模拟设备和环境在 entos 中运行。测试案例  
集成在基于 centos 上安装的 jenkins 里运行。  
图 4 jenkins 自动化测试结果输出  
4 结语  
随着 Python 和 jenkins 等工具的成熟发展,越来越多复杂  
的软件流程测试将更多的依赖于自动化测试,在智能停车领域  
便是个很好的尝试。将来在其他的领域,一样可以通过合适的  
模拟设备,编写测试案例,进行流程化的自动化测试,准确而  
高效。  
【参考文献】  
MQTT 采用通用的开源的 EMQ 软件进行数据的收发和转  
发通信装和使用相当方便行环境为 centos6 系统。  
2.2 Jenkins 集成设置  
[1] 成孝俊 .Python 语言下的自动化测试系统设计 [J]. 江苏科技  
信息,2017(11):117.  
[2] 黄建军 . 基于 Python 语言的自动化测试系统的设计与实现  
[J]. 现代电子技术,2017(2):40.  
[3] 卡孟春 . 基于 Jenkins 的持续集成方案设计与实现 [D]. 北京ꢁ  
中国科学院大学,2014(39).  
[4] 周莹 . 基于 jenkins 的持续集成自动部署研究 [J]. 计算机与数  
字工程,2016(2):267.  
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持  
续集成工具,用于监控持续重复的工作,旨在提供一个开放易  
用的软件平台,使软件的持续集成变成可能。  
Jenkins 中对自动化测试支持 shell 脚本,BAT 批处理,同  
时也支持 Python 语言的脚本,测试报告支持 Junit 规范,生成  
XML 格式报告需要在构建测试 Project 的时候配置界面,  
配置好相关的配置即可。如图 3 所示。  
3 自动化测试验证  
将 Python 测试用例导入到 jenkins 中 , 行好模拟的  
Python 设备,就可以进行自动化测试了。可以手动点击 jenkins  
构建测试,运行 Python 用例。也可以在配置里设置计划,定时  
某一个时间自动测试。测试完后,jenkins 会自动生成 xml 的测  
试报告,开发人员能够详细的获知测试的结果和出现的问题,  
以便于快速更新迭代。Jenkins 运行测试的结果如下图 4 所示:  

全部评论(0)

暂无评论