论文部分内容阅读
随着Web应用的普及,Web应用对测试的要求也越来越高。手工测试存在效率低、覆盖率低的问题,因此不少企业运用自动化测试工具进行回归测试。由于一些商用软件的价格比较昂贵,一般的互联网公司会选择使用开源软件开发出自己的自动化测试系统。这种系统运用自动化测试替代手工测试,可以在一定程度上提高测试的效率。本文结合数据驱动框架和关键字驱动框架的优点,开发了一款基于Selenium的Web自动化测试系统。并将其应用于Med AI智能医药研究云平台的测试过程中进行了验证,结果表明该系统可以大大提高测试效率和控件覆盖率。本文以Med AI智能医药研究云平台为例,对平台进行测试需求分析,设计了基于Selenium的Web混合驱动自动化测试框架。该框架主要包含关键字模块、Base Page模块、图像匹配模块、执行模块以及报告生成模块。其中,关键字模块主要功能是对在测试步骤中用到的操作封装成为关键字。Base Page模块主要实现通用方法的封装。图像匹配模块通过控件截图与页面截图匹配实现非Web元素定位。执行模块实现测试步骤中关键字的调用和测试用例的执行。报告生成模块通过导入HTMLTest Runner模块实现自动化测试报告的生成。本文所设计的混合驱动自动化测试框架选择Python作为开发语言,Pycharm作为集成开发环境,使用xpath的定位方法对页面元素进行定位和封装,并通过xpath helper插件获取元素的xpath,将测试功能点和测试用例等数据存放在xls文件中待执行脚本时进行读取。目前,本文所设计的基于Selenium的混合自动化测试框架已经应用于Med AI平台的回归测试。本文经过分析发现,回归测试的次数越多,自动化测试相对于手工测试来说效率提高比例越大。当回归测试次数达到10次时,自动化测试效率比手工测试提高了121.01%。对于Web应用来说,随着新需求的不断增加,回归测试的次数会远远大于10次,因此自动化测试的效率提高比例至少达到121.01%。其次本文对控件定位功能进行改进,利用图像匹配实现了非Web控件的定位,改进后控件覆盖率由90.24%提高到97.56%。测试结果表明,该测试框架可以在提高测试人员的测试效率的同时增加覆盖率,减少重复性的工作,时间成本低。总的来说,该框架比较适合Web应用的自动化回归测试。