【技术实现步骤摘要】
基于图形用户界面的黑盒自动化测试方法
[0001]本申请实施例涉及一种软件自动化测试方法,属于计算机软件测试
,尤其涉及一种基于图形用户界面的黑盒自动化测试方法、装置、电子设备和存储介质。
技术介绍
[0002]软件测试是保证软件质量的重要手段,也是软件开发过程中的一个重要环节。图形用户界面(graphic user interface,GUI)测试是现代软件测试的关键环节,GUI系统质量是整个软件产品质量提升和成本降低的关键。随着基于敏捷开发模式的软件技术不断地发展和进步,软件测试面临更高的挑战;它不仅需要实现更高程度的自动化,减少人工参与,而且对自动化测试的效率和性能也提出了更高的要求。由于Windows GUI应用软件的独特性,原有传统软件的测试方法不太适用于GUI应用软件的测试,并且GUI手工测试已经无法满足当前GUI应用软件的测试要求。
[0003]现有技术中,对GUI应用软件的自动化测试普遍采用的是捕获/回放(capture/playback,C/P)机制,然而,该C/P机制并没有对GUI应用软件的 ...
【技术保护点】
【技术特征摘要】
1.一种基于图形用户界面的黑盒自动化测试方法,其特征在于,包括:获取测试人员操作待测软件的事件信息和控件信息;根据所述事件信息、所述控件信息和预设断言,生成测试脚本;在驱动引擎上运行所述测试脚本,对所述待测软件进行图形用户界面GUI测试,并生成测试报告。2.根据权利要求1所述的方法,其特征在于,所述获取测试人员操作待测软件的事件信息和控件信息,包括:通过对输入设备进行监控,记录测试人员操作待测软件的事件信息;通过控件识别算法,获取测试人员操作待测软件的控件信息。3.根据权利要求2所述的方法,其特征在于,若所述待测软件支持应用程序接口API驱动,所述通过控件识别算法,获取测试人员操作待测软件的控件信息,包括:通过预设API提取所述待测软件的GUI控件树,所述GUI控件树中包括所述待测软件的所有控件对象;获取测试人员操作所述待测软件时的鼠标位置信息;根据所述鼠标位置信息,遍历所述GUI控件树中的控件对象,得到所述控件信息。4.根据权利要求3所述的方法,其特征在于,所述根据所述鼠标位置信息,遍历所述GUI控件树中的控件对象,得到所述控件信息,包括:确定所述GUI控件树中是否存在与所述鼠标位置信息匹配的目标控件对象;若存在,则获取所述目标控件对象的信息,得到所述控件信息。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若不存在,则采用预设动态遍历算法,向所述待测软件的GUI发送用户事件,以触发所述GUI中的隐藏控件对象显示;根据所述鼠标位置信息与所述GUI中的隐藏控件对象,得到所述控件信息。6.根据权利要求5所述的方法,其特征在于,所述采用预设动态遍历算法,向所述待测软件的GUI发送用户事件,以触发所述GUI中的隐藏控件对象显示,包括:获取所述待测软件的第一GUI状态,所述第一GUI状态包括当前GUI的第一窗口状态集合;根据所述第一GUI状态,确定向所述待测软件的GUI发送的用户事件序列;根据所述用户事件序列,向所述待测软件的GUI发送用户事件,以触发所述GUI中的隐藏控件对象显示。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一GUI状态,确定向所述待测软件的GUI发送的用户事件序列,包括:根据所述第一窗口状态集合,确定所述当前GUI的顶层活动窗口中是否包含配置文件;若包含,则从所述配置文件中获取用户事件序列;若不包含,则确定所述第一GUI状态在状态顺序表中的位置索引,根据所述位置索引,从事件顺序表中获取用户事件序列。8.根据权利要求7所述的方法,其特征在于,所述根据所述用户事件序列,向所述待测软件的GUI发送用户事件,以触发所述GUI中的隐藏控件对象显示,包括:从所述用户事件序列中获取目标用户事件;
向所述GUI发送所述目标用户事件;当所述GUI对所述目标用户事件做出响应时,获取所述待测软件的第二GUI状态,所述第二GUI状态包括当前GUI的第二窗口状态集合;根据所述第二窗口状态集合与所述第一窗口状态集合,确定所述待测软件是否发生GUI状态迁移;若发生迁移,则将所述第一GUI状态和所述目标用户事件分别存储到缓存迁移状态列表和迁移事件列表中,并从所述用户事件列表中获取下一个目标用户事件。9.根据权利要求8所述的方法,其特征在于,所述根据所述第二窗口状态集合与所述第一窗口状态集合,确定所述待测软件是否发生GUI状态迁移,包括:确定所述第二窗口状态集合与所述第一窗口状态集合中的窗口状态数量是否相同;若窗口状态数量不同,则确定待测软件发生GUI状态迁移;若窗口状态数量相同,则根据所述第二窗口状态集合与所述第一窗口状态集合,分别获取所述第二GUI状态的第二顶层活动窗口控件树和所述第一GUI状态的第一顶层活动窗口控件树;确定...
【专利技术属性】
技术研发人员:余林玲,高建丰,
申请(专利权)人:南京领行科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。