一种基于界面操作的ATS自动化测试方法与流程
未命名
07-03
阅读:299
评论:0

一种基于界面操作的ats自动化测试方法
技术领域
1.本发明涉及数据处理领域,特别涉及一种基于界面操作的ats自动化测试方法。
背景技术:
2.列车自动监督系统(ats)在轨道交通中具有列车运行控制、列车标识管理、列车进路办理、列车位置显示、用户信息管理等与人机交互密切相关的功能。以上人机交互功能对于调度人员完成列车正常运营工作巨有重要意义,所以对保证业务功能实现正确性,界面操作的可用性,界面显示正确性等工作都具有很高要求。由于ui界面中的元素在不同项目中要求不同,该部分功能的测试主要依赖于人工根据测试用例步骤,手动测试完成。手工方式虽然灵活,但由于很多用例测试重复率高,使得测试需要耗费较多时间,且存在遗漏和失误。因此,需要在保证测试质量的前提下,提高ui界面测试效率。
技术实现要素:
3.针对现有技术的界面测试效率较低的问题,本发明提供了一种基于界面操作的ats自动化测试方法,通过读取被测对象ats界面内所有元素对象的对象属性并创建测试脚本的方式,通过测试脚本执行相关指令和操作,并对验证状态与预期状态进行比较,能够对界面进行批量测试,大幅提高测试效率。
4.以下是本发明的技术方案。
5.一种基于界面操作的ats自动化测试方法,包括以下步骤:s1:启动自动化界面服务,建立与界面的连接;s2:启动被测对象,读取被测对象ats界面内所有元素对象的对象属性;s3:根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置;s4:执行测试脚本,向指定被测对象发送对应操作;s5:获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元。
6.本发明通过读取ats界面的方式,实现清晰准确获取界面所有设备位置信息、状态等,提高了界面自动化操作的准确性,并且针对不同项目提供不同配置,实现在不同需求下自动化测试的通用性和灵活性。
7.作为优选,所述s1中,启动自动化界面服务,建立与界面的连接,包括:基于s/c架构模式,创建自动化界面服务,通过指定ip与端口,建立与界面的连接,所述自动化界面服务用于为测试脚本所表达的指令提供中转,并转发至被测对象。
8.作为优选,所述s2中,启动被测对象,读取被测对象ats界面内所有元素对象的对象属性,包括:启动被测对象,打开被测对象ats界面,将包括信号机、道岔、区段在内的站场图设备、菜单、弹窗作为元素对象;
以各元素对象的类型和/或内容作为对象属性,进行读取和记录。
9.作为优选,所述s3中,根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置,包括:将用例步骤分解成基本业务逻辑,进一步细化至界面基本操作指令以及验证检查点,并进行逐层封装得到封装指令;针对用例差异,通过参数配置方式的结合对象属性进行适配调整,制作项目配置信息;将封装指令与项目配置信息组装成测试脚本。
10.作为优选,所述s4中,执行测试脚本,向指定被测对象发送对应操作,包括:根据测试需求,选择需要的用例所对应的测试脚本进行执行;将被测对象ats界面移动到设备界面中间,根据测试脚本的指令进行操作;如被测对象ats界面在设备界面无法全部显示,则记录ats界面的外溢坐标值,在测试脚本的操作中断后根据外溢坐标值调整被测对象ats界面,直至其余界面在设备界面被显示过至少一次。
11.其中,个别被测对象ats界面由于过大,在设备界面可能无法全部显示,此时需要进行拖动,本发明先记录外溢坐标值,然后在测试脚本的操作中断后进行调整,由于脚本执行较为固化,因此通过明确的顺序以避免操作错误并保证任务执行的完整性。
12.作为优选,所述s5中,获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元,包括:判断验证点是否为界面,如是,则根据预期验证点需求获取设备界面状态,将设备界面状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;如不是,则根据预期验证点需求获取界面设备报文状态,将报文状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;若用例要求存储场景图片,则根据指定存储路径对图片进行存储记录。
13.本发明的实质性效果包括:1、通过读取ats界面对象方式,实现清晰准确获取界面所有设备位置信息、状态等,提高了界面自动化操作的准确性。
14.2、节约人力,不需要人工重复进行手工测试。
15.3、提升设备利用率,自动化测试可24持续执行测试,在缩减人力的同时提升测试效率。
16.4、针对不同项目提供配置,实现在不同需求下自动化测试的通用性和灵活性。
附图说明
17.图1是本发明实施例的整体流程图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例,对本技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
20.应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和c”、“包含a、b、c”是指a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b和/或c”是指包含a、b、c三者中任1个或任2个或3个。
22.下面以具体的实施例对本发明的技术方案进行详细说明。实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
23.实施例:一种基于界面操作的ats自动化测试方法,如图1所示,包括以下步骤:s1:启动自动化界面服务,建立与界面的连接;s2:启动被测对象,读取被测对象ats界面内所有元素对象的对象属性;s3:根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置;s4:执行测试脚本,向指定被测对象发送对应操作;s5:获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元。
24.本实施例通过读取ats界面的方式,实现清晰准确获取界面所有设备位置信息、状态等,提高了界面自动化操作的准确性,并且针对不同项目提供不同配置,实现在不同需求下自动化测试的通用性和灵活性。
25.本实施例的s1中,启动自动化界面服务,建立与界面的连接,包括:基于s/c架构模式,创建自动化界面服务,通过指定ip与端口,建立与界面的连接,所述自动化界面服务用于为测试脚本所表达的指令提供中转,并转发至被测对象。
26.本实施例的s2中,启动被测对象,读取被测对象ats界面内所有元素对象的对象属性,包括:启动被测对象,打开被测对象ats界面,将包括信号机、道岔、区段在内的站场图设备、菜单、弹窗作为元素对象;以各元素对象的类型和/或内容作为对象属性,进行读取和记录。
27.本实施例的元素对象以及对象属性例如下表1所示。元素对象对象属性信号机位置信息、设备类型
道岔位置信息、设备类型区段位置信息、设备类型、界面显示范围、颜色菜单菜单内容、是否可操作、是否可见、菜单层级弹窗弹窗标题、弹窗类型、文本框内容
……
表1
28.本实施例的s3中,根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置,包括:将用例步骤分解成基本业务逻辑,进一步细化至界面基本操作指令以及验证检查点,并进行逐层封装得到封装指令;针对用例差异,通过参数配置方式的结合对象属性进行适配调整,制作项目配置信息;将封装指令与项目配置信息组装成测试脚本。
29.本实施例的s4中,执行测试脚本,向指定被测对象发送对应操作,包括:根据测试需求,选择需要的用例所对应的测试脚本进行执行;将被测对象ats界面移动到设备界面中间,根据测试脚本的指令进行操作;如被测对象ats界面在设备界面无法全部显示,则记录ats界面的外溢坐标值,在测试脚本的操作中断后根据外溢坐标值调整被测对象ats界面,直至其余界面在设备界面被显示过至少一次。
30.其中,个别被测对象ats界面由于过大,在设备界面可能无法全部显示,此时需要进行拖动,本发明先记录外溢坐标值,然后在测试脚本的操作中断后进行调整,由于脚本执行较为固化,因此通过明确的顺序以避免操作错误并保证任务执行的完整性。
31.其中,指令主要包括特点顺序和位置的左键点击、右键点击等操作。
32.本实施例的s5中,获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元,包括:判断验证点是否为界面,如是,则根据预期验证点需求获取设备界面状态,将设备界面状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;如不是,则根据预期验证点需求获取界面设备报文状态,将报文状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;若用例要求存储场景图片,则根据指定存储路径对图片进行存储记录。
33.本实施例的实质性效果包括:1、通过读取ats界面对象方式,实现清晰准确获取界面所有设备位置信息、状态等,提高了界面自动化操作的准确性。
34.2、节约人力,不需要人工重复进行手工测试。
35.3、提升设备利用率,自动化测试可24持续执行测试,在缩减人力的同时提升测试效率。
36.4、针对不同项目提供配置,实现在不同需求下自动化测试的通用性和灵活性。
37.通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简
洁,仅以上述各功能模块的划分进行举例说明,实际应用中可以根据需要而将上述功能分配由不同的功能模块完成,即将具体装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
38.在本技术所提供的实施例中,应该理解到,所揭露的结构和方法,可以通过其它的方式实现。例如,以上所描述的关于结构的实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个结构,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,结构或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
39.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
40.另外,在本技术实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
41.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
42.以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种基于界面操作的ats自动化测试方法,其特征在于,包括以下步骤:s1:启动自动化界面服务,建立与界面的连接;s2:启动被测对象,读取被测对象ats界面内所有元素对象的对象属性;s3:根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置;s4:执行测试脚本,向指定被测对象发送对应操作;s5:获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元。2.根据权利要求1所述的一种基于界面操作的ats自动化测试方法,其特征在于,所述s1中,启动自动化界面服务,建立与界面的连接,包括:基于s/c架构模式,创建自动化界面服务,通过指定ip与端口,建立与界面的连接,所述自动化界面服务用于为测试脚本所表达的指令提供中转,并转发至被测对象。3.根据权利要求1所述的一种基于界面操作的ats自动化测试方法,其特征在于,所述s2中,启动被测对象,读取被测对象ats界面内所有元素对象的对象属性,包括:启动被测对象,打开被测对象ats界面,将包括信号机、道岔、区段在内的站场图设备、菜单、弹窗作为元素对象;以各元素对象的类型和/或内容作为对象属性,进行读取和记录。4.根据权利要求1所述的一种基于界面操作的ats自动化测试方法,其特征在于,所述s3中,根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置,包括:将用例步骤分解成基本业务逻辑,进一步细化至界面基本操作指令以及验证检查点,并进行逐层封装得到封装指令;针对用例差异,通过参数配置方式的结合对象属性进行适配调整,制作项目配置信息;将封装指令与项目配置信息组装成测试脚本。5.根据权利要求1所述的一种基于界面操作的ats自动化测试方法,其特征在于,所述s4中,执行测试脚本,向指定被测对象发送对应操作,包括:根据测试需求,选择需要的用例所对应的测试脚本进行执行;将被测对象ats界面移动到设备界面中间,根据测试脚本的指令进行操作;如被测对象ats界面在设备界面无法全部显示,则记录ats界面的外溢坐标值,在测试脚本的操作中断后根据外溢坐标值调整被测对象ats界面,直至其余界面在设备界面被显示过至少一次。6.根据权利要求1所述的一种基于界面操作的ats自动化测试方法,其特征在于,所述s5中,获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元,包括:判断验证点是否为界面,如是,则根据预期验证点需求获取设备界面状态,将设备界面状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;如不是,则根据预期验证点需求获取界面设备报文状态,将报文状态的结果与预期结果进行比较,将比较后的测试结果填入测试记录表,并生成测试日志;若用例要求存储场景图片,则根据指定存储路径对图片进行存储记录。
技术总结
本发明公开了一种基于界面操作的ATS自动化测试方法,包括以下步骤:S1:启动自动化界面服务,建立与界面的连接;S2:启动被测对象,读取被测对象ATS界面内所有元素对象的对象属性;S3:根据对象属性和需要测试的用例,创建测试脚本,制作不同项目间功能及数据配置;S4:执行测试脚本,向指定被测对象发送对应操作;S5:获取对象属性的实时状态作为验证状态,并将验证状态与期望状态进行比较,将测试结果记录至存储单元。本发明通过读取ATS界面的方式,实现清晰准确获取界面所有设备位置信息、状态等,提高了界面自动化操作的准确性,并且针对不同项目提供不同配置,实现在不同需求下自动化测试的通用性和灵活性。试的通用性和灵活性。试的通用性和灵活性。
技术研发人员:周丽丹 黄夏萍 姜锋 王飞杰
受保护的技术使用者:浙江众合科技股份有限公司
技术研发日:2022.10.25
技术公布日:2023/1/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/