网络信息工程2021.10
基于WebGIS-三维地理视图模块的自动化测试实践
王志勇,罗雨,房效亮
(正元地理信息集团股份有限公司,北京,101304)
摘要:在实际WebGIS软件测试中,二三维地理视图模块一直是界面自动化测试中比较难以实施的部分,通过主要对该模块的自动化测试提出可实施的技术方案,结合真实场景加以实现,设计一套基于selenium、awt和图像自动识别技术的WebGIS二三维视图模块测试系统,并且在文中介绍相关核心技术,最终证明其所釆用的自动化测试技术方案可以在WebGIS相关系统的二三维可视化模块中推广使用。
关键字:WebGIS;自动化测试;selenium;二三维地理视图;地理信息系统
Automation test practice based on WebGIS two-three-dimensional
geographic view module
Wang Zhiyong,Luo Yu,Fang Xiaoliang
(Zhengyuan Geographic Information Group Co.,Ltd.,Beijing,101304) Abstract;In the actual WebGIS soft w are testi ng,the2D and3D Geographic view module is always the difficult part in the interface automation test*This paper mainly puts forward the feasible technical scheme for the automatic test of the module,and designs a set of WebGIS2D and3D view module test system based on selenium,AWT and automatic image recognition technology The paper introduces the related core technology,and finally proves that the automatic test technology scheme can be widely used in the2D-3D visualization module of WebGIS related system.
Keywords•WebGIS;automated testing;selenium;two—three-dimensional geographic view;GIS
1WebGIS应用中地理视图模块简介
二十一世纪初期,Internet在全世界进入了爆发式增长阶段,随着网络设备的铺设以及光纤和5G等相关技术的应用使得网速大幅度提升,这为WebGIS的发展提供了丰盛的沃土。在此基础上基于B/S的GIS系统脱颖而出,它摒弃了传统C/S架构GIS软件的更新繁琐,不便于跨平台和免安装客户端等自身天然的劣势。釆用RIA(富客户端)技术、AJAX (动态网页)技术和Html5等最新展示技术,结合后台应用服务系统,利用互联网对地理空间数据进行发布和调用,使得WebGIS系统中地理视图模块展现出与C/S系统一样的效果和功能。
2自动化测试需求
由于软件开发技术的持续更新与快速迭代,自动化测试技术也随之应运而生,并且在大多数互联网软件公司得到了很好的应用,满足各种应用需求的测试框架也层数不穷,例如:Selenium,WebDriver、Robot framework,Appium等,但是由于地理信息行业的存在着一定的特殊性,很难釆用互联网等相关行业模式,以文本式交互系统为主来执行自动化软件测试,其难点主要包括以下几个方面:
(1)数据空间化,地理信息行业数据按大类可分为:矢量数据、栅格数据、新型测绘数据以及近年来一直在提倡的高维数据等,虽然不同数据展现的方式不同,但是最终均以可
184视化的二三维地理视图界面进行加载和展示,与传统数字化模式存在较大的区别。
(2)元素无法定位,WebGIS前端主要釆用OpenLayers, AGS API for JS/Flex等JavaScript类库包或插件形式展示,空间数据无法直接作为Web元素对象被获取及定位。
(3)结果不易断言,由于地理信息数据实体以图形化加载展示,无法直接获取相关文本内容,无法通过字符串比对进行结果正确性的判定,并且图形化过程需动态渲染,展示内容不固定,展示效果不统一。因此对于传统通过Web界面获取元素文本信息等方式进行功能点正确性验证的方式,很难适应在地理信息系统中。
正是由于地理信息应用系统的二三维地理视图模块存在以上难点,导致自动化测试在WebGIS系统无法全面应用,攻克相关难题可以有效的提升ffebGIS软件的测试效率,降低测试成本,为后期应用系统的快速迭代部署和交付奠定基础,为追求更高的软件质量要求提供技术保障。
3二三维地理视图模块自动化测试方案设计
3.1业务流程设计
WebGIS应用系统中二三维地理视图模块主要作用是对空间地理信息数据的图形化加载展示,以及在此基础上的浏览、分析和查询等操作,因此测试的业务逻辑流程主要包括:启动浏览器后打开二三维地理视图模块界面,加载相关空间
甲耳测说
ELECTRONIC TEST
2021.10
网络信患工程
图1 WebGIS 应用自动化测试流程图
地理数据后,模拟人工测试的平移、放大、缩小等浏览操作和
距离量测、面积量测、点线面属性查询等查询操作。根据操作
结果对指定范围进行截图,并且通过与预期结果数据图像对
比后,输出测试结果,如果对比结果与预期一致则返回正确
测试结果,如果对比结果与预期结果不一致,解析出不一致
区域并且成像后输出测试结果,上述业务流程图如图1所示。
3. 2实现原理设计
根据业务流程设计,实现原理分别为以下步骤:
gis字符串是什么(1) 浏览器驱动:二三维地理视图模块自动化测试可以
通过自动化测试框架Selenium3中的Webdriver 对象驱动浏
览器,打开指定的应用系统的二三维地理视图界面。
(2) 人工测试模拟函数:为了实现模拟人工测试在二三
维地理视图模块中的相关操作,采用基于java. awt. Robot
类或者Sikuli 对象引用的方式,封装用于鼠标及键盘模拟操
作的平移、放大、缩小、量测、点击、框选以及快捷键和字符输 入等操作方法。
(3) 图像对比函数:为了实现图像后期对比,首先需要封
装界面截图等相关工具函数类,对执行结果进行图像采集,
为后期测试结果正确性对比提供数据支持。并且采用图像对
比算法封装图像对比函数,实现地理信息数据操作结果与预 期结果对比验证。
(4) 用例编写:在以上封装类及Selenium 对象类的基础
上进行二三维地理视图模块自动化测试用例的编写,从而方 便不同测试场景执行时的调用。
(5) -致性判断:在执行自动化测试过程中,通过加载不
同测试数据和测试用例脚本可以执行不同场景的自动化测
试,并且在自动化测试计划中添加预期结果断言,将执行结
果截图数据与预期图像文件进行对比,采用灰度图像的相似 对比技术,自动生成不同点位对照图像和对比结果。
(6) 测试报告输出:将测试结果通过测试报告框架模型
自动生成在测试报告中,并且打印测试过程日志,方便开发 人员追踪和定位缺陷。
通过以上设计步骤,最终实现二三维地理视图模块自动 化测试,再将其与整套自动化测试框架融合后,可以实现地
理信息应用系统全流程的自动化软件测试实施方案,解决地 理信息相关应用系统无法全面自动化测试的弊端,为提高应
用系统测试效率奠定基础。
3. 3方案验证分析
依据上述自动化测试方案
设计,结合正元智慧城市时空大
数据与云平台中云端地图系统 二三维地理视图展示模块进行 自动化测试,已实现地理视图窗
口内数据的缩放、平移、360度 旋转、距离量测等操作的自动化 测试,所有测试流程均与人工测
试高度一致,通过多次对比验
证,获取出根据二三维地理视图
模块自动化测试设计实现的自动化测试与手动测试全流程 的耗时数据,相关数据见表1所示,通过对比可以得出自动化
测试执行效率明显大于手动测试。
表1自动化测试与人工测试耗时测试方式缩放平移旋转量测全流程
自动化测试677ms 630ms 626ms
808ms 40575ms 手动测试1056ms 802ms
1502ms 1219ms 76236ms
二三维地理视图模块自动化测试不仅提高测试效率,
同时通过可视化的测试报告可以更加直观的显示每个测试
用例的执行结果。在釆用图像对比技术后,系统开发过程中 对渲染和加载产生细微的影响都能进行详细的输出。最终可
以对系统开发过程中相同地理信息数据加载显示的结果异
同对比分析。相对于人工凭借经验识别数据加载结果的正确
性,釆用本套二三维地理视图模块自动化测试方案的验证结 果更加严谨可靠。
4结束语
基于二三维地理视图模块的自动化测试方案解决了
WebGIS 应用系统自动化测试过程中,无法全部覆盖功能点,
以及可视化数据正确性验证的难点问题。为全流程自动化测
试奠定了基础,并且结合主流的Selenium 自动化测试框架技
术,可以更加快速准确的完成已有功能测试,提高人工测试
效率和版本迭代测试速度的同时,降低测试成本,保障系统
平稳运行。
目前该测试方案已经应用在智慧城市云平台等相关系
统中,实现了全流程自动化测试,配合团队敏捷开发流程,快
速实现从代码编写、提交、审查、编译、打包、测试以及部署发
布等全流程的自动化作业模式,单次测试耗时相比之前测试 提升40%,精准度达到90%以上,为整个研发团队节省耗时超
过30%,以上参数充分证明二三维地理视图模块自动化测试 方案在实际工作中的必要性、可用性和高可靠性,实现了地
理信息应用系统全流程自动化的可行性,为自动化测试技术
在地理信息应用软件领域的广泛实施提供实践依据。
参考文献
[1]周灵敏,张弛.智慧管网自动化测试系统设计[J],电子设
计工程,2018,26(20):42-49.
851
ELECTRONIC
TEST

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。