一种GUI自动化测试方法及装置制造方法及图纸

技术编号:39328932 阅读:9 留言:0更新日期:2023-11-12 16:05
本发明专利技术涉及软件测试领域,具体提供了一种GUI自动化测试方法及装置,在软件测试中操作SpreadJS可视化报表,具有如下步骤:S1、编写基于python+selenium+unittest测试框架的GUI自动化测试脚本;S2、通过运行脚本对SpreadJS可视化报表进行鼠标、键盘操作;S3、分析脚本运行报告判断SpreadJS可视化报表是否产生报错。与现有技术相比,本发明专利技术,能够有效解决测试人员投入人数多、工作量大、无人值守测试等问题。无人值守测试等问题。无人值守测试等问题。

【技术实现步骤摘要】
一种GUI自动化测试方法及装置


[0001]本专利技术涉及软件测试领域,具体提供一种GUI自动化测试方法及装置。

技术介绍

[0002]SpreadJS可视化报表完美复现了Excel的用户界面和功能,为企业信息化系统提供了表格文档协同编辑、数据填报和类Excel报表设计的应用场景支持,极大降低了企业研发成本和项目交付风险,使得SpreadJS可视化报表在产品中大量使用。
[0003]功能测试人员在针对SpreadJS可视化报表进行测试时,常面临以下问题:
[0004](1)SpreadJS可视化报表控件区分于正常web元素控件,不能通过selenium提供的八种定位方式直接定位,给用SpreadJS可视化报表控件开发的web产品的自动化测试带来困难。
[0005](2)产品维护阶段功能测试重复性工作量大,人工测试成本高、操作出错率高。存在人为主观判断因素大导致测试结果不准确问题,需要通过自动化测试手段提高场景覆盖率。

技术实现思路

[0006]本专利技术是针对上述现有技术的不足,提供一种实用性强的GUI自动化测试方法。
[0007]本专利技术进一步的技术任务是提供一种设计合理,安全适用的GUI自动化测试装置。
[0008]本专利技术解决其技术问题所采用的技术方案是:
[0009]一种GUI自动化测试方法,在软件测试中操作SpreadJS可视化报表,具有如下步骤:
[0010]S1、编写基于python+selenium+unittest测试框架的GUI自动化测试脚本;
[0011]S2、通过运行脚本对SpreadJS可视化报表进行鼠标、键盘操作;
[0012]S3、分析脚本运行报告判断SpreadJS可视化报表是否产生报错。
[0013]进一步的,在步骤S1中,所述python+selenium+unittest测试框架,已封装底层selenium相关公共方法和产品级别的公共方法,产品级别的公共方法包括启动被测产品浏览器方法、用户登录方法、打开被测产品功能方法和操作功能内部公共控件的方法。
[0014]进一步的,编写SpreadJS可视化报表测试脚本时,通过调用公共方法实现打开被测产品浏览器、用户登录、打开功能并操作SpreadJS可视化报表控件,通过行数与列数定位SpreadJS可视化报表中唯一的单元格,获取单元格的值并修改值;
[0015]通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,获取单元格的值并修改值;
[0016]通过行数与列数定位SpreadJS可视化报表中唯一的单元格,获取单元格的横纵像素坐标。
[0017]进一步的,编写SpreadJS可视化报表测试脚本时,通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,获取单元格的横纵像素坐标;
[0018]通过行数与列数定位SpreadJS可视化报表中唯一的单元格,模拟鼠标单击、双击或右键此单元格;
[0019]通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,模拟鼠标单击、双击或右键此单元格,切换SpreadJS可视化报表的Sheet页。
[0020]进一步的,所述公共方法详细实现过程如下:
[0021](1)、编写SpreadJS可视化报表的Xpath定位,通过selenium_driver找到SpreadJS可视化报表控件;
[0022](2)、针对当前页面有多个隐藏的SpreadJS可视化报表控件情况,找到当前展示的控件;
[0023](3)、使用GC.Spread.Sheets.findControl方法识别SpreadJS可视化报表控件;
[0024](4)、对步骤S1至S3的控件进行取值、赋值、鼠标和键盘操作;
[0025](5)、公共方法过程中遇到的frame实现自动切换。
[0026]进一步的,在步骤S2中,执行脚本支持docker模式下并发执行,docker运行环境基于python+selenium+chrome浏览器;
[0027]在脚本运行平台申请任务,输入任务名、被测产品url、计划任务开始时间、每次分发脚本数量和选择多少个机器并发执行,选择本次任务运行的脚本,等待计划时间自动执行。
[0028]进一步的,在步骤S3中,任务执行结束有html格式的测试报告,报告包含全部脚本成功率,按关键应用和模块分类的成功率,以及每个脚本详细的日志、报错堆栈信息以及报错截图,脚本运行过程中录屏,通过分析运行报告即可分析出脚本运行结果。
[0029]一种GUI自动化测试装置,包括:至少一个存储器和至少一个处理器;
[0030]所述至少一个存储器,用于存储机器可读程序;
[0031]所述至少一个处理器,用于调用所述机器可读程序,执行GUI自动化测试方法及装置。
[0032]本专利技术的一种GUI自动化测试方法及装置和现有技术相比,具有以下突出的有益效果:
[0033]本专利技术能够实现GUI自动化测试对SpreadJS可视化报表进行测试,可以应用到开发自测、测试以及交付过程的任意阶段,能够有效解决测试人员投入人数多、工作量大、无人值守测试等问题。
[0034]很大程度上提高了公司产品的质量,提升产品交付效率,大大节省功能测试过程中全链路的人力物力,提早发现问题。相比公司以前功能测试方法,工作量大大削减,效益有很大提升。
附图说明
[0035]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]附图1是一种GUI自动化测试方法的流程示意图。
具体实施方式
[0037]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0038]下面给出一个最佳实施例:
[0039]如图1所示,本实施例中的一种GUI自动化测试方法,在软件测试中操作SpreadJS可视化报表,具有如下步骤:
[0040]S1、编写基于python+selenium+unittest测试框架的GUI自动化测试脚本;
[0041]python+selenium+unittest测试框架已封装底层selenium相关公共方法和产品级别的公共方法,产品级别的公共方法包括但不限于启动被测产品浏览器方法、用户登录方法、打开被测产品功能方法、操作功能内部公共控件的方法(SpreadJS可视化报表控件公共方法、按钮控件公共方法、输入框控件公共方法、帮助控件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GUI自动化测试方法,其特征在于,在软件测试中操作SpreadJS可视化报表,具有如下步骤:S1、编写基于python+selenium+unittest测试框架的GUI自动化测试脚本;S2、通过运行脚本对SpreadJS可视化报表进行鼠标、键盘操作;S3、分析脚本运行报告判断SpreadJS可视化报表是否产生报错。2.根据权利要求1所述的一种GUI自动化测试方法,其特征在于,在步骤S1中,所述python+selenium+unittest测试框架,已封装底层selenium相关公共方法和产品级别的公共方法,产品级别的公共方法包括启动被测产品浏览器方法、用户登录方法、打开被测产品功能方法和操作功能内部公共控件的方法。3.根据权利要求2所述的一种GUI自动化测试方法,其特征在于,编写SpreadJS可视化报表测试脚本时,通过调用公共方法实现打开被测产品浏览器、用户登录、打开功能并操作SpreadJS可视化报表控件,通过行数与列数定位SpreadJS可视化报表中唯一的单元格,获取单元格的值并修改值;通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,获取单元格的值并修改值;通过行数与列数定位SpreadJS可视化报表中唯一的单元格,获取单元格的横纵像素坐标。4.根据权利要求3所述的一种GUI自动化测试方法,其特征在于,编写SpreadJS可视化报表测试脚本时,通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,获取单元格的横纵像素坐标;通过行数与列数定位SpreadJS可视化报表中唯一的单元格,模拟鼠标单击、双击或右键此单元格;通过行标题与列标题定位SpreadJS可视化报表中唯一的单元格,模拟鼠标单击...

【专利技术属性】
技术研发人员:宋成群王艳丽赵超
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1