测试用例更新方法及装置技术领域
本公开涉及测试技术领域,尤其涉及一种测试用例更新方法及装置。
背景技术
当前,大多数的测试人员都是在开发完成APP开发后才开始针对性写测试脚本,而在
实际测试中可能会需要测试不同界面元素和多种测试用例组合。
但是,每个测试用例中除了界面元素的部分其它所有操作步骤都是相同的,这样,在
频繁上线版本的时候,如果针对每个界面元素均分别编写测试用例,可能会导致测试人员
来不及完成测试脚本编写,且由于大量做重复性工作,导致工作效率低下。
发明内容
为克服相关技术中存在的问题,本公开提供一种测试用例更新方法及装置。
根据本公开实施例的第一方面,提供一种测试用例更新方法,包括:
获取用户在界面元素列表中选择的界面元素;
在预设映射表中查找与用户选择的界面元素对应的元素属性,以及,与所述元素属性
对应的多个测试用例;
在每个测试用例中根据元素属性查找与所述界面元素相对应的待更新界面元素;
在测试脚本中,根据所述界面元素对多个测试用例中的待更新界面元素进行更新。
可选地,所述测试用例中包括多个测试步骤;
所述在每个测试用例中根据元素属性查找与所述界面元素相对应的待更新界面元素包
括:
针对每个测试用例,查询测试用例中包含的至少一个测试步骤;
在每个测试步骤中根据元素属性查找与所述界面元素对应的待更新界面元素。
可选地,所述在每个测试步骤中查找与用户选择的界面元素对应的待更新界面元素,
包括:
针对每个测试步骤,查找界面元素对应的元素属性的位置;
根据元素属性的位置获取待更新界面元素的位置;
将所述对象位置处的待更新界面元素确定为与用户选择的界面元素对应的待更新界面
元素。
可选地,所述方法还包括:
获取测试脚本中的多个界面元素,以及,与每个界面元素对应的元素属性;
获取用于记录调用每个元素属性的测试用例的调用记录;
将每个界面元素、元素属性、测试用例、界面元素与元素属性的对应关系,以及,元
素属性与测试用例的对应关系存储到预设映射表中。
可选地,所述元素属性包括:相对布局路径、类名、页面样式表单、标识符、自动化
组件和超级链接等。
根据本公开实施例的第二方面,提供一种测试用例更新装置,包括:
第一获取模块,用于获取用户在界面元素列表中选择的界面元素;
第一查找模块,用于在预设映射表中查找与用户选择的界面元素对应的元素属性,以
及,与所述元素属性对应的多个测试用例;
第二查找模块,用于在每个测试用例中根据元素属性查找与所述界面元素相对应的待
更新界面元素;
更新模块,用于在测试脚本中,根据所述界面元素对多个测试用例中的待更新界面元
素进行更新。
可选地,所述测试用例中包括多个测试步骤;
所述第二查找模块包括:
查询子模块,用于针对每个测试用例,查询测试用例中包含的至少一个测试步骤;
第一查找子模块,用于在每个测试步骤中根据元素属性查找与所述界面元素对应的待
更新界面元素。
可选地,所述查找子模块包括:
第二查找子模块,用于针对每个测试步骤,查找界面元素对应的元素属性的位置;
获取子模块,用于根据元素属性的位置获取待更新界面元素的位置;
确定子模块,用于将所述对象位置处的待更新界面元素确定为与用户选择的界面元素
对应的待更新界面元素。
可选地,所述装置还包括:
第二获取模块,用于获取测试脚本中的多个界面元素,以及,与每个界面元素对应的
元素属性;
第三获取模块,用于获取用于记录调用每个元素属性的测试用例的调用记录;
存储模块,用于将每个界面元素、元素属性、测试用例、界面元素与元素属性的对应
关系,以及,元素属性与测试用例的对应关系存储到预设映射表中。
可选地,所述元素属性包括:相对布局路径、类名、页面样式表单、标识符、自动化
组件和超级链接等。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开通过获取用户在界面元素列表中选择的界面元素;在预设映射表中查找与用户
选择的界面元素对应的元素属性,以及,与所述元素属性对应的多个测试用例;在每个测
试用例中根据元素属性查找与所述界面元素相对应的待更新界面元素;在测试脚本中,根
据所述界面元素对多个测试用例中的待更新界面元素进行更新。
本公开提供的该方法,在用户选择更新界面元素时,自动更新调用界面元素的所有测
试用例,避免针对每个界面元素时,逐一修改测试用例的费时、费力以及效率低下的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限
制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,
并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种测试用例更新方法的一种流程图;
图2是一种界面元素列表的示意图;
图3是图1中步骤S103的流程图;
图4是图3中步骤S302的流程图;
图5是根据一示例性实施例示出的一种测试用例更新方法的另一种流程图;
图6是根据一示例性实施例示出的一种测试用例更新装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图
时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中
所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权
利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图1所示,在本公开的一个实施例中,提供一种测试用例更新方法,包括以下步骤。
在步骤S101中,获取用户在界面元素列表中选择的界面元素。
在本公开实施例中,界面元素可以指修改、删除、查询记录、校验、搜索和显示区块
值等等,界面元素列表可以指包含所有界面元素的下拉列表。
在该步骤中,可以检测鼠标选中的位置是否在界面元素列表范围内,当鼠标选中的位
置在界面元素列表范围内时,获取鼠标选中的位置对应的界面元素。
在步骤S102中,在预设映射表中查找与用户选择的界面元素对应的元素属性,以及,
与所述元素属性对应的多个测试用例。
在本公开实施例中,预设映射表中可以包括多个界面元素、多个元素属性、多个测试
用例,界面元素与元素属性的对应关系,以及,元素属性与测试用例的对应关系等,例如:
界面元素可以包括:A、B和C,元素属性可以包括:D、E、F和G,测试用例可以包括:M、
N、P、Q、X和Y,界面元素A与元素属性D和E对应,界面元素B与元素属性F对应,界
面元素C与元素属性G对应,元素属性D与测试用例M对应,元素属性E与测试用例N和P
对应,元素属性F与测试用例Q和X对应,元素属性G与测试用例Y对应等等,元素属性可
以包括:相对布局路径Xpath、类名ClassName、页面样式表单CSS Selector、标识符ID、
自动化组件(如:苹果的UIAutomation、谷歌的UiAutomatorn等)和超级链接LinkText等,
测试用例在执行的过程中可以调用界面元素等。
本公开实施例中,可以采用Excel VLOOKUP纵向查找函数和INDIRECT函数等实现映射
表的查找,可以采用POI来操作Excel内部函数和元素布局,POI(Apache POI,Apache
软件基金会的开放源码函式库),POI提供API接口给Java程序,以便对Microsoft Office
格式文档的读和写。
在该步骤中,可以首先在预设映射表中查找用户选择的界面元素,再根据界面元素查
找元素属性,最后根据元素属性查找测试用例,例如,界面元素为A时,查找到的元素属
性为D和E,最终查找到测试用例为M、N和P。
在步骤S103中,在每个测试用例中根据元素属性查找与所述界面元素相对应的待更新
界面元素。
在该步骤中,可以在每个测试用例中查找元素属性的位置,再根据元素属性的位置查
找与界面元素对应的待更新界面元素等。
在步骤S104中,在测试脚本中,根据所述界面元素对多个测试用例中的待更新界面元
素进行更新。
在该步骤中,可以将待更新界面元素更新为界面元素,例如:更新前的界面元素和测
试用例可以如表1所示:
表1
界面元素
测试用例
平板管理__获取激活码输入框
//input[@id='TextWaiShe1']
当用户在元素列表(如图2所示)中选择了的任意一个界面元素“平板管理__确定”
时,与界面元素“平板管理__确定”对应的元素属性为value,选择后的界面元素和更新后
的测试用例可以如表2所示:
表2
界面元素
测试用例
平板管理__确定
//input[@value='确定']
根据界面元素“平板管理__确定”修改测试用例中的元素属性value=‘确定’。
再一次,当用户在元素列表(如图2所示)中选择了的任意一个界面元素“平板管理
__修改”时,与界面元素“平板管理__修改”对应的元素属性为值text(),选择后的界面
元素和更新后的测试用例可以如表3所示:
表3
界面元素
测试用例
平板管理__修改
//a[text()='修改']
根据界面元素“平板管理__修改”修改测试用例中的值text()=‘修改’,以上表中及
图2中列举的示例仅是本公开的两种实际应用中的实现方式,表中及图2中的界面元素列
表的详细结构以及界面元素列表中各界面元素之间的位置、名称及功能等都不作限定,
本领域技术人员可以根据设计或现场需要自由布局各部分位置、名称及功能。
本公开实施例提供的该方法,在用户选择更新界面元素时,自动更新调用界面元素的
所有测试用例,避免针对每个界面元素时,逐一修改测试用例的费时、费力以及效率低下
的情况。
如图3所示,在本公开的又一实施例中,所述测试用例中包括多个测试步骤;
所述步骤S103包括以下步骤。
在步骤S301中,针对每个测试用例,查询测试用例中包含的至少一个测试步骤。
在步骤S302中,在每个测试步骤中根据元素属性查找与所述界面元素对应的待更新界
面元素。
本公开实施例中,能够自动在每个测试用例中查找到所有测试步骤中的待更新界面元
素,便于对测试用例中的所有待更新界面元素进行批量更新。
如图4所示,在本公开的又一实施例中,所述步骤S302包括以下步骤。
在步骤S401中,针对每个测试步骤,查找界面元素对应的元素属性的位置。
在该步骤中,可以在每个测试步骤中,将与元素属性字符数相同的字符串与元素属性
对比,当二者相同时,确定查找到与界面元素对应的元素属性的位置。
在步骤S402中,根据元素属性的位置获取待更新界面元素的位置。
在该步骤中,可以将与元素属性的位置隔若干个字符处确定为待更新界面元素的位置
等,例如,隔若干个字符可以指“=和’”等,还可以指赋值为右边的整个字符串等。
在步骤S403中,将所述对象位置处的待更新界面元素确定为与用户选择的界面元素对
应的待更新界面元素。
本公开实施例提供的该方法,能够自动确定待更新界面元素的位置,便于准确确定待
更新界面元素,进而便于对待更新界面元素进行更新。
如图5所示,在本公开的又一实施例中,所述方法还包括以下步骤。
在步骤S501中,获取测试脚本中的多个界面元素,以及,与每个界面元素对应的元素
属性。
在步骤S502中,获取用于记录调用每个元素属性的测试用例的调用记录。
在步骤S503中,将每个界面元素、元素属性、测试用例、界面元素与元素属性的对应
关系,以及,元素属性与测试用例的对应关系存储到预设映射表中。
本公开实施例提供的该方法,能够构建预设映射表,便于自动将用户选择的界面元素
根据预设映射表更新到多个测试用例中。
如图6所示,在本公开的又一实施例中,提供一种测试用例更新装置,包括:第一获
取模块601、第一查找模块602、第二查找模块603和更新模块604。
第一获取模块601,用于获取用户在界面元素列表中选择的界面元素。
第一查找模块602,用于在预设映射表中查找与用户选择的界面元素对应的元素属性,
以及,与所述元素属性对应的多个测试用例。
在本公开实施例中,所述元素属性包括:相对布局路径、类名、页面样式表单、标识
符、自动化组件和超级链接等。
第二查找模块603,用于在每个测试用例中根据元素属性查找与所述界面元素相对应的
待更新界面元素。
更新模块604,用于在测试脚本中,根据所述界面元素对多个测试用例中的待更新界面
元素进行更新。
在本公开的又一实施例中,所述测试用例中包括多个测试步骤。
所述第二查找模块603包括:查询子模块和第一查找子模块。
查询子模块,用于针对每个测试用例,查询测试用例中包含的至少一个测试步骤。
第一查找子模块,用于在每个测试步骤中根据元素属性查找与所述界面元素对应的待
更新界面元素。
在本公开的又一实施例中,所述查找子模块包括:第二查找子模块、获取子模块和确
定子模块。
第二查找子模块,用于针对每个测试步骤,查找界面元素对应的元素属性的位置。
获取子模块,用于根据元素属性的位置获取待更新界面元素的位置。
确定子模块,用于将所述对象位置处的待更新界面元素确定为与用户选择的界面元素
对应的待更新界面元素。
在本公开的又一实施例中,所述装置还包括:第二获取模块、第三获取模块和存储模
块。
第二获取模块,用于获取测试脚本中的多个界面元素,以及,与每个界面元素对应的
元素属性。
第三获取模块,用于获取用于记录调用每个元素属性的测试用例的调用记录。
存储模块,用于将每个界面元素、元素属性、测试用例、界面元素与元素属性的对应
关系,以及,元素属性与测试用例的对应关系存储到预设映射表中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实
施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者
适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯
用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利
要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可
以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。