CN110908895A - 页面自动化测试方法、装置、计算机设备及存储介质 - Google Patents

页面自动化测试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110908895A
CN110908895A CN201910964149.4A CN201910964149A CN110908895A CN 110908895 A CN110908895 A CN 110908895A CN 201910964149 A CN201910964149 A CN 201910964149A CN 110908895 A CN110908895 A CN 110908895A
Authority
CN
China
Prior art keywords
positioning
page
function
variable
tested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910964149.4A
Other languages
English (en)
Inventor
余娟娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201910964149.4A priority Critical patent/CN110908895A/zh
Publication of CN110908895A publication Critical patent/CN110908895A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本发明公开一种页面自动化测试方法、装置、计算机设备及存储介质,该方法包括接收待测试页面地址,基于所述待测试页面地址对应的待测试页面,获取至少一个待定位元素,每一所述待定位元素对应一特征标签;基于所述特征标签,根据元素定位优先级对所述待定位元素进行初步定位,得到元素定位结果;所述元素定位结果对应一元素类型;根据所述元素类型,采用与所述元素类型对应的函数定位逻辑,生成与所述待定位元素相对应的定位函数,所述函数定位逻辑包括初始变量;接收目标变量对应的参数值,所述目标变量与所述初始变量相对应;根据所述定位函数和所述目标变量对应的参数值进行测试,该方法可提高定位的有效性,从而提高测试效率。

Description

页面自动化测试方法、装置、计算机设备及存储介质
技术领域
本发明涉及元素定位技术领域,尤其涉及一种页面自动化测试方法、装 置、计算机设备及存储介质。
背景技术
目前,在自动化测试过程中,需要测试人员手动编辑自动化测试脚本以 及设计测试用例,在自动化测试脚本开发过程中,主要在于页面元素定位, 才可实现对页面元素进行操作,以实现自动化测试。对于不同的测试项目, 其包含的每一页面均需要专业能力较高的测试人员手动编辑页面元素定位脚 本进行定位,耗费时间,大大降低测试效率。
发明内容
本发明实施例提供一种页面自动化测试方法、装置、计算机设备及存储 介质,以解决目前,自动化测试脚本需要专业能力较高的测试人员手动编辑 页面元素定位脚本进行定位,耗费时间,大大降低测试效率。
一种页面自动化测试方法,包括:
接收待测试页面地址,基于所述待测试页面地址对应的待测试页面,获 取至少一个待定位元素,每一所述待定位元素对应一特征标签;
基于所述特征标签,根据元素定位优先级对所述待定位元素进行初步定 位,得到元素定位结果;所述元素定位结果对应一元素类型;
根据所述元素类型,采用与所述元素类型对应的函数定位逻辑,生成与 所述待定位元素相对应的定位函数,所述函数定位逻辑包括初始变量;
接收目标变量对应的参数值,所述目标变量与所述初始变量相对应;
根据所述定位函数和所述目标变量对应的参数值进行测试。
一种页面自动化测试装置,包括:
待测试页面地址接收模块,用于接收待测试页面地址,基于所述待测试 页面地址对应的待测试页面,获取至少一个待定位元素,每一所述待定位元 素对应一特征标签;
元素定位结果获取模块,用于基于所述特征标签,根据元素定位优先级 对所述待定位元素进行初步定位,得到元素定位结果;所述元素定位结果对 应一元素类型;
定位函数生成模块,用于根据所述元素类型,采用与所述元素类型对应 的函数定位逻辑,生成与所述待定位元素相对应的定位函数,所述函数定位 逻辑包括初始变量;
参数值接收模块,用于接收目标变量对应的参数值,所述目标变量与所 述初始变量相对应;
自动化测试模块,用于根据所述定位函数和所述目标变量对应的参数值 进行测试。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在 所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上 述页面自动化测试方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序, 所述计算机程序被处理器执行时实现上述页面自动化测试方法的步骤。
上述页面自动化测试方法、装置、计算机设备及存储介质中,本实施例 中,先基于待测试页面地址对应的待测试页面,获取至少一个待定位元素, 以便基于每一待定位元素对应一特征标签,根据元素定位优先级对待定位元 素进行初步定位,得到元素定位结果,以自动选择最优定位方式初步定位到 待定位元素,无需人工选择,降低自动化测试脚本的编写难度。然后,根据 元素定位结果,采用与元素定位结果对应的函数定位逻辑,生成与页面元素 相对应的定位函数,无需人工编辑元素定位脚本,降低人力成本,提高程序 的规范性,降低维护成本。接收目标变量对应的参数值,根据定位函数和参 数值进行测试,提高定位的有效性,从而提高测试效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性 劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中页面自动化测试方法的一应用环境示意图;
图2是本发明一实施例中页面自动化测试方法的一流程图;
图3是图2中步骤S20的一具体流程图;
图4是本发明一实施例中页面自动化测试方法的一流程图;
图5是本发明一实施例中页面自动化测试方法的一流程图;
图6是本发明一实施例中页面自动化测试方法的一流程图;
图7是本发明一实施例中页面自动化测试方法的一流程图;
图8是本发明一实施例中页面自动化测试方法的一流程图;
图9是本发明一实施例中页面自动化测试装置的一示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的页面自动化测试方法可应用一种元素定位工具中, 用于有效定位页面元素,实现测试用例的执行,提高自动化测试用例的效率 和准确率。该页面自动化测试方法可应用在如图1的应用环境中,其中,计 算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计 算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以 用独立的服务器来实现。
在一实施例中,如图2所示,提供一种页面自动化测试方法,以该方法 应用在图1中的服务器为例进行说明,包括如下步骤:
S10:接收待测试页面地址,基于待测试页面地址对应的待测试页面,获 取至少一个待定位元素,每一待定位元素对应一特征标签。
具体地,待测试页面地址具体为待测试页面的url地址,该待测试页面 地址对应一待测试页面。待定位元素是可由用户自定义从待测试页面中获取 或系统默认从待测试页面中获取的元素,如输入框。系统默认获取的待定位 元素可根据经验设定,在此不做限定。特征标签是指html元素标签。
S20:基于特征标签,根据元素定位优先级对待定位元素进行初步定位, 得到元素定位结果,元素定位结果对应一元素类型。
具体地,本实施例中的元素定位工具中包括多个元素定位方式,每一元 素定位方法均设置一默认元素定位优先级,以便根据元素定位优先级自动选 择最优定位方式,无需人工判断哪种定位方式为最优定位方式。本实施例中, 元素定位方式包括但不限于元素ID定位方式、类(css)选择器定位方式、 xpath定位方式以及超链接定位方式。其中,元素定位结果对应的元素类型包 括但不限于输入框、下拉框、表格、上传附件、单选按钮、多选框以及按钮 等。
需要说明的是,该元素定位优先级也可由用户自定义设置,以满足不同 用户需求,提高测试效率。
S30:根据元素类型,采用与元素类型对应的函数定位逻辑,生成与待定 位元素相对应的定位函数,函数定位逻辑包括初始变量。
其中,函数定位逻辑是预先创建好的生成定位函数的逻辑,也可由用户 自定义。初始变量是指不同定位函数对应的变量,用于接收测试用例中的输 入值。通过采用与元素定位结果对应的函数定位逻辑,生成与页面元素相对 应的定位函数,以使代码规范性更强,避免由于人工编写脚本时,不同测试 人员编写的脚本不兼容导致定位失败的问题,提高元素定位的有效性。
S40:接收目标变量对应的参数值,目标变量与初始变量相对应。
S50:根据定位函数和目标变量对应的参数值进行测试。
其中,目标变量对应的参数值是指测试用例中的输入值。具体地,测试 人员进行自动化测试时,可直接将待测试页面地址(即url)输入到元素定位 工具中,以生成定位函数,以便接收测试用例中目标变量对应的参数值,采 用定位函数和目标变量对应的参数值进行自动化测试,无需人工对每一页面 编写定位脚本,耗费人力且测试效率低。
本实施例中,先基于待测试页面地址对应的待测试页面,获取至少一个 待定位元素,以便基于每一待定位元素对应一特征标签,根据元素定位优先 级对待定位元素进行初步定位,得到元素定位结果,以自动选择最优定位方 式初步定位到待定位元素,无需人工选择,降低自动化测试脚本的编写难度。 然后,根据元素定位结果,采用与元素定位结果对应的函数定位逻辑,生成 与页面元素相对应的定位函数,无需人工编辑元素定位脚本,降低人力成本, 提高程序的规范性,降低维护成本。接收目标变量对应的参数值,根据定位函数和参数值进行测试,提高定位的有效性,从而提高测试效率。
在一实施例中,如图3所示,步骤S20中,即基于特征标签,根据元素 定位优先级对待定位元素进行初步定位,得到元素定位结果,具体包括如下 步骤:
S21:若特征标签包含元素标识,则基于元素标识,调用元素标签定位函 数进行定位,获取元素定位结果。
具体地,从定位效率上来说,由于页面中的大多数特征标签包含元素ID, 故根据元素ID定位方式进行定位的速度较快,本实施例中,可将元素ID定 位方式的优先级设置为一级。由于超链接标签不包含元素ID,故可将超链接 定位方式定位方式的优先级设置为二级;由于xpath定位方式较容易受到页 面的影响,若页面布局发生变化会导致定位不到元素,故将类选择器定位方 式设置为三级,将xpath定位方式设置为四级。由于css选择器定位一致, 会定位到多个相同属性的元素(例如采用input进行定位,会定位多个input 标签对应的元素,导致采用此种方式定位不到目标元素的情况),则采用xpath (XML PathLanguage,XML路径语言)定位方式进行定位。即本实施例中的 默认的元素定位优先级从大到小依次为元素ID定位方式、超链接定位方式、 类选择器定位方式以及xpath定位方式。
其中,元素标识用于唯一识别元素,即元素ID,例如针对输入用户姓名 的输入框,其元素ID为username。具体地,服务器检测特征标签是否包含元 素ID,若特征标签包含元素ID,则直接根据元素ID定位方式进行定位;由 于部分开发人员在开发页面时,不会为每一元素设置元素ID,故需要对不包 含元素ID的特征标签进行进一步定位,保证定位的有效性。
S22:若特征标签不包含元素标识,则检测特征标签是否为超链接标签, 若特征标签为超链接标签,则基于超链接标签,调用超链接标签定位函数进 行定位,获取元素定位结果。
S23:若特征标签不包含元素标识且不为超链接标签,则基于特征标签, 采用类选择器定位方式进行定位,获取元素定位结果。
S24:若元素定位结果为空,则基于特征标签,调用路径定位函数进行定 位。
具体地,若特征标签不包含元素ID,则检测该特征标签是否为超链接标 签,若是,则直接根据超链接定位方式进行定位。若特征标签不包含元素标 识且不为超链接标签,则基于特征标签,采用类选择器定位方式进行定位, 获取元素定位结果。若元素定位结果为空,则基于特征标签,调用路径定位 函数进行定位。需要说明的是,采用元素ID定位方式、类选择器定位方式、 xpath定位方式以及超链接定位方式进行定位可直接调用自动化测试工具(如 Selenium)包中封装的定位命令进行定位。
本实施例中,通过根据元素定位优先级对待定位元素进行初步定位,得 到元素定位结果,并且可实现自动选择最优定位方式(即最快定位方式)初 步定位到待定位元素,以提高定位效,且无需人工选择,降低自动化测试脚 本的编写难度。
在一实施例中,初始变量包括第一变量,如图4所示,步骤S10之前, 该页面自动化测试方法还包括如下步骤:
S111:获取元素类型为输入框的定位逻辑参数,定位逻辑参数包括预设 输入值、第一标签值。
其中,第一变量是用于接收测试用例中测试对象为输入框对应的期望输 入值的变量。需要说明的是,本实施例中的输入框可包括文本类型的输入框 和文件类型的输入框。则该期望输入值可为文件路径或者字符串。预设输入 值是指输入框中已有的输入值。第一标签值即指输入框的标识字段。
S112:将第一标签值作为定位函数的函数名,定位函数的函数名用于唯 一识别定位函数。
具体地,通过将第一标签值作为定位函数的函数名,以便后续进行元素 定位时,针对多个输入框,可直接根据函数名进行定位,例如,当前待测试 页面为注册页面,该页面元素包括两个输入框,一个输入框用于输入用户姓 名,另一个输入框用于输入用户身份证号,第一个输入框对应的第一标签值 即为“用户姓名”,另一输入框对应的第一标签值即为“用户身份证号”, 根据函数定位逻辑,生成与输入框相对应的两个定位函数,这两个定位函数 的函数名为用户姓名和用户身份证号。后续进行定位时,可直接根据函数名 定位到所需的输入框进行测试,提高测试脚本的开发效率。
S113:若预设输入值为空,则根据第一变量对应的参数值,执行自动化 测试工具中的输入命令。
S114:若预设输入值不为空,则调用自动化测试工具中的清除命令,清 除预设输入值,并根据第一变量对应的参数值,执行自动化测试工具中的输 入命令,以生成与元素类型相对应的函数定位逻辑。
具体地,服务器对输入框中是否含有预设输入值进行判断,若预设输入 值为空,则根据第一变量对应的参数值,执行自动化测试工具中的输入命令。 若预设输入值不为空,则根据自动化测试工具中的清除命令,清除预设输入 值,以便模拟输入测试用例中的输入值,然后再基于自动化测试工具中的工 具包中的输入命令和第一变量对应的参数值执行输入指令,以生成与输入框 相对应的函数定位逻辑。可以理解地,本实施例中的自动化测试工具可采用 Selenium工具。Selenium是一个基于浏览器的自动化工具,Selenium主要 包括三种工具包即Selenium IDE、Selenium WebDriver和Selenium Grid。 本实施例中所采用的工具包为Selenium WebDriver。Selenium WebDriver提 供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试等。
本实施例中,通过自动对元素类型为输入框的元素生成对应的函数定位 逻辑,以便编写自动化测试脚本时直接根据该函数定位逻辑生成定位函数, 以直接根据函数名定位到所需的输入框进行测试,提高测试脚本的开发效率。
在一实施例中,初始变量包括第二变量;如图5所示,步骤S10之前, 该页面自动化测试方法还包括如下步骤:
S121:获取元素类型为下拉框的定位逻辑参数,定位逻辑参数包括第二 标签值。
其中,第二标签值是指下拉框对应的默认显示值,例如下拉框元素包括 两级子元素,即“男”(一级子元素)和“女(二级子元素)”,其中,第 二标签值即为默认显示值“男”。
S122:将第二标签值作为定位函数的函数名,定位函数的函数名用于唯 一识别定位函数。
S123:对下拉框执行点击事件,获取至少两个下拉框标识。
S124:基于下拉框标识进行遍历,确定每一下拉框标识对应的下拉属性 值。
其中,下拉框标识是用于识别下拉框中子元素的唯一标识。具体地,在 对下拉框进行定位时,需要先点击下拉框元素,再对下拉框中的子元素进行 遍历,确定每一子元素对应的下拉属性值,以便根据第二变量对应的参数值 (即测试用例中的输入值),进一步定位下拉框中所需点击的子元素。
S125:若下拉属性值与第二变量对应的参数值相同,则对下拉属性值对 应的下拉框标识执行点击事件,以生成与元素类型相对应的函数定位逻辑。
其中,第二变量用于接收测试用例中测试对象为下拉框对应的期望操作 值的变量,例如下拉框属性值包括“1”、“2”和“3”,下拉框对应的期望 操作值可为“1”、“2”和“3”中的任意一个值。
具体地,若下拉属性值与第二变量对应的参数值(即测试对象为下拉框对 应的期望操作值)相同,则对下拉属性值对应的下拉框标识执行点击事件, 以模拟点击该下拉框标识对应的子元素,以生成与元素类型相对应的函数定 位逻辑。
本实施例中,通过自动对元素类型为下拉框的元素生成对应的函数定位 逻辑,以便编写自动化测试脚本时直接根据该函数定位逻辑生成定位函数, 以直接根据函数名定位到所需的下拉框进行测试,提高测试脚本的开发效率。
在一实施例中,初始变量包括第三变量;第三变量对应列标识和关键词。 如图6所示,S10之前,该页面自动化测试方法还包括如下步骤:
S131:获取元素类型为表格的定位逻辑参数,定位逻辑参数包括行标识。
其中,关键词是指测试用例中的输入值。行标识是用于唯一识别表格的 行变量。
S132:基于行标识,逐行遍历表格,获取与行标识对应的行属性值。
其中,行属性值是指表格或者多选框中行标识对应的属性值。第三变量 是用于接收测试用例中测试对象为表格对应的期望操作值的变量。
S133:若行属性值与第三变量对应的关键词相同,则对行属性值对应的 列参数和行标识添加对应的点击事件,以生成与元素类型相对应的函数定位 逻辑。
具体地,若元素类型为表格,则可通过第三变量对应的参数值(即列标 识和关键词),遍历表格,确定测试对象(即需要点击的对象)并添加对应 的操作事件(如点击),以生成与元素类型相对应的函数定位逻辑。
进一步地,多选框与表格类似,多选框可看做为N行1列的表格,由于 多选框中列标识固定为1,故生成多选框对应的函数定位逻辑时,可通过多选 变量(即接收测试用例中的多选框输入值的变量)对应的参数值(即关键词), 遍历多选框,确定测试对象(即需要点击的对象)并添加对应的操作事件(如 点击),并保存该测试对象的行标识和列标识,以实现多选的目的。
本实施例中,通过自动对元素类型为表格的元素生成对应的函数定位逻 辑,以便编写自动化测试脚本时直接根据该函数定位逻辑生成定位函数,以 直接根据定位函数定位到所需的表格进行测试,提高测试脚本的开发效率。
在一实施例中,初始变量包括第四变量;如图7所示,步骤S10之前, 该页面自动化测试方法还包括如下步骤:
S141:获取元素类型为单选按钮的定位逻辑参数,定位逻辑参数包括选 项标识。
其中,选项标识用于唯一识别单选按钮。第三变量是用于接收测试用例 中测试对象为单选按钮对应的期望操作值的变量。
S142:基于选项标识遍历单选按钮,确定选项标识对应的选项属性值。
S143:若选项属性值与第四变量对应的参数值相同,则对选项属性值对 应的选项标识添加对应的点击事件。
S144:获取点击事件的执行结果,以生成与元素类型相对应的函数定位 逻辑。
具体地,服务器根据第四变量对应的参数值(即测试用例所需选择的属 性值),按照选项标识,遍历单选按钮,确定选项标识对应的选项属性值, 以根据选项标识确定与第四变量对应的参数值相同的选项属性值对应的单选 按钮,并对该单选按钮添加对应的操作事件(如点击),并记录操作事件的 执行结果,例如点击单选按钮A,跳转至下一页面,该执行结果即为跳转页面 的链接地址。
本实施例中,通过自动对元素类型为单选按钮的元素生成对应的函数定 位逻辑,以便编写自动化测试脚本时直接根据该函数定位逻辑生成定位函数, 以直接根据定位函数定位到所需的单选按钮进行测试,提高测试脚本的开发 效率。
在一实施例中,如图8所示,步骤S10之前,该页面自动化测试方法还 包括如下步骤:
S151:对元素类型为按钮的元素执行点击事件,获取点击事件的执行结 果。
具体地,针对元素类型为按钮元素的定位,需要先点击按钮,以便根据 点击按钮后的结果进行进一步定位或者直接结束对元素类型为按钮的测试。
S152:若执行结果包括新增窗口,则获取当前窗口的句柄,调用自动化 测试工具中的切换窗口指令,切换至新增窗口。
其中,每一窗口都对应一句柄,用于唯一识别窗口。具体地,由于对按 钮执行点击事件时,可能会出现弹框即新增窗口,则需获取当前窗口的句柄, 便根据当前窗口的句柄,调用自动化测试工具中的切换窗口指令,将当前窗 口切换至新增窗口。
S153:将新增窗口作为待测试页面,重复执行基于待测试页面地址对应 的待测试页面,获取至少一个待定位元素的步骤,以生成与元素类型相对应 的函数定位逻辑。
具体地,服务器会将新增窗口作为待测试页面,以重复执行S10-S30的 步骤,生成与元素类型相对应的函数定位逻辑。
本实施例中,通过自动对元素类型为按钮的元素生成对应的函数定位逻 辑,以便编写自动化测试脚本时直接根据该函数定位逻辑生成定位函数,以 直接根据定位函数定位到所需的按钮进行测试,提高测试脚本的开发效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后, 各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实 施过程构成任何限定。
在一实施例中,提供一种页面自动化测试装置,该页面自动化测试装置 与上述实施例中页面自动化测试方法一一对应。如图9所示,该页面自动化 测试装置包括待测试页面地址接收模块10、元素定位结果获取模块20、定位 函数生成模块30、参数值接收模块40和自动化测试模块50。各功能模块详 细说明如下:
待测试页面地址接收模块10,用于接收待测试页面地址,基于待测试页 面地址对应的待测试页面,获取至少一个待定位元素,每一待定位元素对应 一特征标签。
元素定位结果获取模块20,用于基于特征标签,根据元素定位优先级对 待定位元素进行初步定位,得到元素定位结果;元素定位结果对应一元素类 型。
定位函数生成模块30,用于根据元素类型,采用与元素类型对应的函数 定位逻辑,生成与待定位元素相对应的定位函数,函数定位逻辑包括初始变 量。
参数值接收模块40,用于接收目标变量对应的参数值,目标变量与初始 变量相对应。
自动化测试模块50,用于根据定位函数和目标变量对应的参数值进行测 试。
具体地,元素定位结果获取模块包括第一定位单元、第二定位单元、第 三定位单元和第四定位单元。
第一定位单元,用于若特征标签包含元素标识,则基于元素标识,调用 元素标签定位函数进行定位,获取元素定位结果。
第二定位单元,用于若特征标签不包含元素标识,则检测特征标签是否 为超链接标签,若特征标签为超链接标签,则基于超链接标签,调用超链接 标签定位函数进行定位,获取元素定位结果。
第三定位单元,用于若特征标签不包含元素标识且不为超链接标签,则 基于特征标签,采用类选择器定位方式进行定位,获取元素定位结果。
第四定位单元,用于若元素定位结果为空,则基于特征标签,调用路径 定位函数进行定位。
具体地,初始变量包括第一变量;该页面自动化测试装置包括定位逻辑 参数获取单元、函数命名单元、第一处理单元和第二处理单元。
定位逻辑参数获取单元,用于获取元素类型为输入框的定位逻辑参数, 定位逻辑参数包括预设输入值、第一标签值。
函数命名单元,用于将第一标签值作为定位函数的函数名,定位函数的 函数名用于唯一识别定位函数。
第一处理单元,用于若预设输入值为空,则根据第一变量对应的参数值, 执行自动化测试工具中的输入命令。
第二处理单元,用于若预设输入值不为空,则调用自动化测试工具中的 清除命令,清除预设输入值,并根据第一变量对应的参数值,执行自动化测 试工具中的输入命令,生成与元素类型相对应的函数定位逻辑。
具体地,初始变量包括第二变量,该页面自动化测试装置还包括定位逻 辑参数获取单元、函数命名单元、下拉框标识获取单元、下拉属性值确定单 元、事件执行单元和执行结果获取单元。
定位逻辑参数获取单元,用于获取元素类型为下拉框的定位逻辑参数, 定位逻辑参数包括第二标签值。
函数命名单元,用于将第二标签值作为定位函数的函数名,定位函数的 函数名用于唯一识别定位函数。
下拉框标识获取单元,用于对下拉框执行点击事件,获取至少两个下拉 框标识。
下拉属性值确定单元,用于基于下拉框标识进行遍历,确定每一下拉框 标识对应的下拉属性值。
事件执行单元,用于若下拉属性值与第二变量对应的参数值相同,则对 下拉属性值对应的下拉框标识执行点击事件。
执行结果获取单元,用于获取点击事件的执行结果,以生成与元素类型 相对应的函数定位逻辑。
具体地,初始变量包括第三变量;第三变量对应列标识和关键词;该页 面自动化测试装置还包括定位逻辑参数获取单元、行属性值获取单元和点击 事件执行单元。
定位逻辑参数获取单元,用于获取元素类型为表格的定位逻辑参数,定 位逻辑参数包括行标识、第一标签值。
行属性值获取单元,用于基于行标识,逐行遍历表格,获取与行标识对 应的行属性值。
点击事件执行单元,用于若行属性值与第三变量对应的关键词相同,则 对行属性值对应的列参数和行标识添加对应的点击事件,以生成与元素类型 相对应的函数定位逻辑。
具体地,初始变量包括第四变量;该页面自动化测试装置还包括定位逻 辑参数获取单元、选项属性值获取单元、点击事件执行单元和执行结果获取 单元。
定位逻辑参数获取单元,用于获取元素类型为单选按钮的定位逻辑参数, 定位逻辑参数包括选项标识。
选项属性值获取单元,用于基于选项标识遍历单选按钮,确定选项标识 对应的选项属性值。
点击事件执行单元,用于若选项属性值与第四变量对应的参数值相同, 则对选项属性值对应的选项标识添加对应的点击事件。
执行结果获取单元,用于获取点击事件的执行结果,以生成与元素类型 相对应的函数定位逻辑。
具体地,该页面自动化测试装置还包括执行结果获取单元、切换窗口单 元和元素定位单元。
执行结果获取单元,用于对元素类型为按钮的元素执行点击事件,获取 点击事件的执行结果。
切换窗口单元,用于若执行结果包括新增窗口,则获取当前窗口的句柄, 调用自动化测试工具中的切换窗口指令,切换至新增窗口。
元素定位单元,用于将新增窗口作为待测试页面,重复执行基于待测试 页面地址对应的待测试页面,获取至少一个待定位元素的步骤,以生成与元 素类型相对应的函数定位逻辑。
关于页面自动化测试装置的具体限定可以参见上文中对于页面自动化测 试方法的限定,在此不再赘述。上述页面自动化测试装置中的各个模块可全 部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于 或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中 的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器, 其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理 器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计 算和控制能力。该计算机设备的存储器包括计算机可读存储介质、内存储器。 该计算机可读存储介质存储有操作系统、计算机程序和数据库。该内存储器 为计算机可读存储介质中的操作系统和计算机程序的运行提供环境。该计算 机设备的数据库用于存储执行页面自动化测试方法过程中生成或获取的数 据,如定位函数。该计算机设备的网络接口用于与外部的终端通过网络连接 通信。该计算机程序被处理器执行时以实现一种页面自动化测试方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储 在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实 现上述实施例中的页面自动化测试方法的步骤,例如图2所示的步骤S10-S50, 或者图3至图8中所示的步骤。或者,处理器执行计算机程序时实现页面自 动化测试装置这一实施例中的各模块/单元的功能,例如图9所示的各模块/ 单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上 存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中页面自 动化测试方法的步骤,例如图2所示的步骤S10-S50,或者图3至图8中所示 的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时 实现上述页面自动化测试装置这一实施例中的各模块/单元的功能,例如图9 所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可 存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包 括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用 的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或 易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、 电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存 储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非 局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同 步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、 同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM (RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以 上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而 将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划 分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参 照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技 术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱 离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之 内。

Claims (10)

1.一种页面自动化测试方法,其特征在于,包括:
接收待测试页面地址,基于所述待测试页面地址对应的待测试页面,获取至少一个待定位元素,每一所述待定位元素对应一特征标签;
基于所述特征标签,根据元素定位优先级对所述待定位元素进行初步定位,得到元素定位结果;所述元素定位结果对应一元素类型;
根据所述元素类型,采用与所述元素类型对应的函数定位逻辑,生成与所述待定位元素相对应的定位函数,所述函数定位逻辑包括初始变量;
接收目标变量对应的参数值,所述目标变量与所述初始变量相对应;
根据所述定位函数和所述目标变量对应的参数值进行测试。
2.如权利要求1所述页面自动化测试方法,其特征在于,所述基于所述特征标签,根据元素定位优先级对所述待定位元素进行初步定位,得到元素定位结果,包括:
若所述特征标签包含元素标识,则基于所述元素标识,调用元素标签定位函数进行定位,获取所述元素定位结果;
若所述特征标签不包含元素标识,则检测所述特征标签是否为超链接标签,若所述特征标签为超链接标签,则基于所述超链接标签,调用超链接标签定位函数进行定位,获取所述元素定位结果;
若所述特征标签不包含元素标识且不为超链接标签,则基于所述特征标签,采用类选择器定位方式进行定位,获取所述元素定位结果;
若所述元素定位结果为空,则基于所述特征标签,调用路径定位函数进行定位。
3.如权利要求1所述页面自动化测试方法,其特征在于,所述初始变量包括第一变量;
在所述接收待测试页面地址之前,所述页面自动化测试方法还包括:
获取元素类型为输入框的定位逻辑参数,所述定位逻辑参数包括预设输入值、第一标签值;
将所述第一标签值作为定位函数的函数名,所述定位函数的函数名用于唯一识别所述定位函数;
若所述预设输入值为空,则根据所述第一变量对应的参数值,执行自动化测试工具中的输入命令;
若所述预设输入值不为空,则调用所述自动化测试工具中的清除命令,清除所述预设输入值,并根据所述第一变量对应的参数值,执行自动化测试工具中的输入命令,生成与所述元素类型相对应的函数定位逻辑。
4.如权利要求1所述页面自动化测试方法,其特征在于,所述初始变量包括第二变量;
在所述接收待测试页面地址之前,所述页面自动化测试方法还包括:
获取元素类型为下拉框的定位逻辑参数,所述定位逻辑参数包括第二标签值;
将所述第二标签值作为定位函数的函数名,所述定位函数的函数名用于唯一识别所述定位函数;
对所述下拉框执行点击事件,获取至少两个下拉框标识;
基于所述下拉框标识进行遍历,确定每一下所述拉框标识对应的下拉属性值;
若所述下拉属性值与所述第二变量对应的参数值相同,则对所述下拉属性值对应的下拉框标识执行点击事件;
获取所述点击事件的执行结果,以生成与所述元素类型相对应的函数定位逻辑。
5.如权利要求1所述页面自动化测试方法,其特征在于,所述初始变量包括第三变量;所述第三变量对应列标识和关键词;
在所述接收待测试页面地址之前,所述页面自动化测试方法还包括:
获取元素类型为表格的定位逻辑参数,所述定位逻辑参数包括行标识、第一标签值;
基于所述行标识,逐行遍历所述表格,获取与所述行标识对应的行属性值;
若所述行属性值与所述第三变量对应的关键词相同,则对所述行属性值对应的列参数和行标识添加对应的点击事件,以生成与所述元素类型相对应的函数定位逻辑。
6.如权利要求1所述页面自动化测试方法,其特征在于,所述初始变量包括第四变量;
在所述接收待测试页面地址之前,所述页面自动化测试方法还包括:
获取元素类型为单选按钮的定位逻辑参数,所述定位逻辑参数包括选项标识;
基于所述选项标识遍历所述单选按钮,确定所述选项标识对应的选项属性值;
若所述选项属性值与所述第四变量对应的参数值相同,则对所述选项属性值对应的选项标识添加对应的点击事件;
获取所述点击事件的执行结果,以生成与所述元素类型相对应的函数定位逻辑。
7.如权利要求1所述页面自动化测试方法,其特征在于,在所述接收待测试页面地址之前,所述页面自动化测试方法还包括:
对元素类型为按钮的元素执行点击事件,获取所述点击事件的执行结果;
若所述执行结果包括新增窗口,则获取当前窗口的句柄,调用自动化测试工具中的切换窗口指令,切换至新增窗口;
将所述新增窗口作为所述待测试页面,重复执行所述基于所述待测试页面地址对应的待测试页面,获取至少一个待定位元素的步骤,以生成与所述元素类型相对应的函数定位逻辑。
8.一种页面自动化测试装置,其特征在于,包括:
待测试页面地址接收模块,用于接收待测试页面地址,基于所述待测试页面地址对应的待测试页面,获取至少一个待定位元素,每一所述待定位元素对应一特征标签;
元素定位结果获取模块,用于基于所述特征标签,根据元素定位优先级对所述待定位元素进行初步定位,得到元素定位结果;所述元素定位结果对应一元素类型;
定位函数生成模块,用于根据所述元素类型,采用与所述元素类型对应的函数定位逻辑,生成与所述待定位元素相对应的定位函数,所述函数定位逻辑包括初始变量;
参数值接收模块,用于接收目标变量对应的参数值,所述目标变量与所述初始变量相对应;
自动化测试模块,用于根据所述定位函数和所述目标变量对应的参数值进行测试。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述页面自动化测试方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述页面自动化测试方法的步骤。
CN201910964149.4A 2019-10-11 2019-10-11 页面自动化测试方法、装置、计算机设备及存储介质 Pending CN110908895A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910964149.4A CN110908895A (zh) 2019-10-11 2019-10-11 页面自动化测试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910964149.4A CN110908895A (zh) 2019-10-11 2019-10-11 页面自动化测试方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN110908895A true CN110908895A (zh) 2020-03-24

Family

ID=69815345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910964149.4A Pending CN110908895A (zh) 2019-10-11 2019-10-11 页面自动化测试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110908895A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737152A (zh) * 2020-07-29 2020-10-02 中国人民解放军国防科技大学 通过网页录入数据实现web自动化测试的方法及装置
CN112131124A (zh) * 2020-09-28 2020-12-25 平安国际智慧城市科技股份有限公司 页面元素定位方法、装置、设备及存储介质
CN113094617A (zh) * 2021-03-30 2021-07-09 厦门立林科技有限公司 一种web元素定位方法及其应用和存储介质
CN113590496A (zh) * 2021-09-01 2021-11-02 建信金融科技有限责任公司 自动化测试方法及装置
CN113934487A (zh) * 2021-09-18 2022-01-14 达而观数据(成都)有限公司 一种用户界面元素定位方法、系统、计算机设备和存储介质
CN114416603A (zh) * 2022-03-31 2022-04-29 北京搜狐新动力信息技术有限公司 Ui元素测试方法、装置、存储介质和设备
CN115061927A (zh) * 2022-06-27 2022-09-16 壹沓科技(上海)有限公司 基于rpa的网页元素定位方法、装置及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737152A (zh) * 2020-07-29 2020-10-02 中国人民解放军国防科技大学 通过网页录入数据实现web自动化测试的方法及装置
CN112131124A (zh) * 2020-09-28 2020-12-25 平安国际智慧城市科技股份有限公司 页面元素定位方法、装置、设备及存储介质
CN113094617A (zh) * 2021-03-30 2021-07-09 厦门立林科技有限公司 一种web元素定位方法及其应用和存储介质
CN113590496A (zh) * 2021-09-01 2021-11-02 建信金融科技有限责任公司 自动化测试方法及装置
CN113590496B (zh) * 2021-09-01 2023-06-02 建信金融科技有限责任公司 自动化测试方法及装置
CN113934487A (zh) * 2021-09-18 2022-01-14 达而观数据(成都)有限公司 一种用户界面元素定位方法、系统、计算机设备和存储介质
CN113934487B (zh) * 2021-09-18 2024-01-23 达而观数据(成都)有限公司 一种用户界面元素定位方法、系统、计算机设备和存储介质
CN114416603A (zh) * 2022-03-31 2022-04-29 北京搜狐新动力信息技术有限公司 Ui元素测试方法、装置、存储介质和设备
CN114416603B (zh) * 2022-03-31 2022-07-12 北京搜狐新动力信息技术有限公司 Ui元素测试方法、装置、存储介质和设备
CN115061927A (zh) * 2022-06-27 2022-09-16 壹沓科技(上海)有限公司 基于rpa的网页元素定位方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN110908895A (zh) 页面自动化测试方法、装置、计算机设备及存储介质
AU2017258963B2 (en) Simultaneous multi-platform testing
US8966449B2 (en) Test case pattern matching
US9652366B2 (en) Code change analysis to optimize testing lifecycle
US8555234B2 (en) Verification of soft error resilience
US9208451B2 (en) Automatic identification of information useful for generation-based functional verification
CN110704297B (zh) 代码评审方法、装置、计算机设备及存储介质
US10996962B2 (en) Acquisition process of GUI elements using user input
JP7404839B2 (ja) ソフトウェアプログラム不良位置の識別
EP3333712A2 (en) Simultaneous multi-platform testing
US11615018B2 (en) Automation testing tool framework
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN110879781A (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
Nyamathulla et al. A review on selenium web driver with python
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN105404574B (zh) 一种智能卡与移动终端一致性测试方法及装置
CN109783387A (zh) 穿线测试方法、装置、计算机设备及存储介质
CN107957939B (zh) 网页交互界面测试方法及系统
CN113505895B (zh) 一种机器学习引擎服务系统及模型训练方法和配置方法
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
CN112685311A (zh) 测试脚本自动生成方法、装置、计算机设备及存储介质
CN116431467A (zh) 页面测试方法、装置、设备及介质
CN115033481A (zh) 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备
CN113094258A (zh) 精准测试方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination