一种网站自动化测试方法及自动化测试系统技术方案

技术编号:17255285 阅读:26 留言:0更新日期:2018-02-13 23:15
本申请提供了一种网站自动化测试方法及自动化测试系统,以解决目前自动化测试效率低的问题。其中,一种网站自动化测试方法包括:对网页进行解析,并对应网页中的页面元素生成中间件变量;根据所述中间件变量生成中间件接口;接收待测试的页面元素信息,并查找与所述待测试的页面元素信息相匹配的中间件接口;调用匹配到的中间件接口对所述待测试的页面元素执行测试操作。本申请提高了页面元素的识别效率,进而提高了自动化测试的效率。

【技术实现步骤摘要】
一种网站自动化测试方法及自动化测试系统
本申请涉及自动化测试技术,特别是涉及一种网站自动化测试方法及自动化测试系统。
技术介绍
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,引入了自动化测试的概念。在网站自动化测试中,页面元素(即页面中对用户可见的控件,例如button(按钮),form(表格)等)的识别是自动化测试的基础。现有的测试过程中,测试人员通过安装firebug、iedeveloper等插件,并手动点击选择页面元素来实现对页面元素的识别。当测试人员手动选择某个页面元素时,这些插件可以自动识别出所选的页面元素,并将识别结果显示出来,以供测试人员在测试过程中使用。上述网站自动化测试方法虽然可以使用插件来识别页面元素,但还是引入了较多的人工操作,在识别页面元素的时候需要测试人员对需要识别的元素一个一个进行手动点击,操作比较繁琐。而一个网站包含大量的网页,每个网页也包含大量的页面元素,上述需要较多人工操作的识别方法显然不能满足自动化测试中的识别需求,而且识别效率低下。由于页面元素的识别是自动化测试的基础,因而页面元素识别的效率低下也带来了网站自动化测试的效率低下。
技术实现思路
本申请提供了一种网站自动化测试方法及自动化测试系统,以解决目前自动化测试效率低的问题。为了解决上述问题,本申请公开了一种网站自动化测试方法,包括:对网页进行解析,并对应网页中的页面元素生成中间件变量;根据所述中间件变量生成中间件接口;接收待测试的页面元素信息,并查找与所述待测试的页面元素信息相匹配的中间件接口;调用匹配到的中间件接口对所述待测试的页面元素执行测试操作。可选地,所述对网页进行解析,并对应网页中的页面元素生成中间件变量包括:将网页解析成HTMLDOM树并遍历所述HTMLDOM树,所述网页的一个页面元素对应所述HTMLDOM树的一个节点;依据所述HTMLDOM树的节点对应的页面元素生成中间件变量,其中,所述页面元素的属性信息作为所述中间件变量的属性集。可选地,所述页面元素的属性信息包括以下任意一项或几项:所在网页的地址信息、页面元素的类别、页面元素的名称,页面元素的id和页面元素的值。可选地,所述根据中间件变量生成中间件接口包括:遍历所述各中间件变量的属性集,将所述属性集中相同属性的中间件变量归为一个哈希表,并以所述相同属性对该哈希表命名,将所述相同属性的中间件变量归为该哈希表的成员;依据所述HTMLDOM树的层级关系,将所述哈希表中具有相同父节点的哈希表生成一个中间件接口,所述中间件接口以父节点对应的页面元素的任一属性信息命名。可选地,所述查找与所述待测试的页面元素信息相匹配的中间件接口包括:计算所述待测试的页面元素信息与各中间件接口的匹配度;根据所述匹配度查找与所述待测试的页面元素信息相匹配的中间件接口。可选地,所述计算所述待测试的页面元素信息与各中间件接口的匹配度包括:获取所述待测试的页面元素信息中的页面元素名称,并获取所述中间件接口的名称;将所述待测试的页面元素名称和所述中间件接口名称的所有字符转换为小写/大写字符;计算所述待测试的页面元素名称和所述中间件接口名称的相同的小写/大写字符的个数,记为最长匹配串;将所述最长匹配串与所述中间件接口名称的小写/大写字符的个数做除法运算,将所述除法运算的商作为所述待测试的页面元素信息与所述中间件接口的匹配度。可选地,所述根据所述中间件接口的匹配度查找与所述待测试的页面元素信息相匹配的中间件接口包括:判断所述待测试的页面元素信息与各中间件接口的匹配度中最大匹配度是否高于或等于预设的阈值;当所述最大匹配度高于或等于预设的阈值时,将所述最大匹配度对应的中间件接口作为所述待测试的页面元素信息匹配得到的中间件接口;当所述最大匹配度低于预设的阈值时,匹配失败。可选地,所述调用匹配到的中间件接口对所述待测试的页面元素执行测试操作包括:接收针对所述待测试的页面元素信息的测试参数,将所述测试参数传入所述匹配到的中间件接口,所述匹配到的中间件接口通过调用对应的中间件变量对所述待测试的页面元素执行测试操作。可选地,所述网站自动化测试方法还包括:判断所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集是否一致;若所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集一致,则调用匹配到的中间件接口对所述待测试的页面元素执行测试操作;若所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集不一致,则根据所述待测试的页面元素的属性信息对所述匹配到的中间件接口的属性集进行修正。本申请还提供了一种网站自动化测试系统,包括:变量生成模块,用于对网页进行解析,并对应网页中的页面元素生成中间件变量;接口生成模块,用于根据所述中间件变量生成中间件接口;匹配模块,用于接收待测试的页面元素信息,并查找与所述待测试的页面元素信息相匹配的中间件接口;测试模块,用于调用匹配到的中间件接口对所述待测试的页面元素执行测试操作。可选地,所述变量生成模块包括:解析子模块,用于将网页解析成HTMLDOM树并遍历所述HTMLDOM树,所述网页的一个页面元素对应所述HTMLDOM树的一个节点;变量子模块,用于依据所述HTMLDOM树的节点对应的页面元素生成中间件变量,其中,所述页面元素的属性信息作为所述中间件变量的属性集。可选地,所述页面元素的属性信息包括以下任意一项或几项:所在网页的地址信息、页面元素的类别、页面元素的名称,页面元素的id和页面元素的值。可选地,所述接口生成模块包括:遍历子模块,用于遍历所述各中间件变量的属性集,将所述属性集中相同属性的中间件变量归为一个哈希表,并以所述相同属性对该哈希表命名,将所述相同属性的中间件变量归为该哈希表的成员;接口子模块,用于依据所述HTMLDOM树的层级关系,将所述哈希表中具有相同父节点的哈希表生成一个中间件接口,所述中间件接口以父节点对应的页面元素的任一属性信息命名。可选地,所述匹配模块包括:计算子模块,用于计算所述待测试的页面元素信息与各中间件接口的匹配度;查找子模块,用于根据所述匹配度查找与所述待测试的页面元素信息相匹配的中间件接口。可选地,所述网站自动化测试系统还包括:判断模块,用于判断所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集是否一致;所述测试模块,还用于当所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集一致时,调用匹配到的中间件接口对所述待测试的页面元素执行测试操作;修正模块,用于当所述待测试的页面元素的属性信息与所述匹配到的中间件接口的属性集不一致时,根据所述待测试的页面元素的属性信息对所述匹配到的中间件接口的属性集进行修正。与现有技术相比,本申请包括以下优点:本申请实施例提供的测试方法,首先对网页进行解析,针对网页元素生成机器能够直接执行的中间件接口(DSL,DomainSpecificLanguage语言),这些中间件接口可以自动模拟用户操作来测试网页元素;在测试过程中,测试人员可以通过查找与待测试页面元素信息相匹配的中间件接口并调用所述中间件接口本文档来自技高网...
一种网站自动化测试方法及自动化测试系统

【技术保护点】
一种网站自动化测试方法,其特征在于,包括:对网页进行解析,并对应网页中的页面元素生成中间件变量;根据所述中间件变量生成中间件接口;接收待测试的页面元素信息,并查找与所述待测试的页面元素信息相匹配的中间件接口;调用匹配到的中间件接口对所述待测试的页面元素执行测试操作;进一步包括:接收针对所述待测试的页面元素信息的测试参数,将所述测试参数传入所述匹配到的中间件接口,所述匹配到的中间件接口通过调用对应的中间件变量对所述待测试的页面元素执行测试操作。

【技术特征摘要】
1.一种网站自动化测试方法,其特征在于,包括:对网页进行解析,并对应网页中的页面元素生成中间件变量;根据所述中间件变量生成中间件接口;接收待测试的页面元素信息,并查找与所述待测试的页面元素信息相匹配的中间件接口;调用匹配到的中间件接口对所述待测试的页面元素执行测试操作;进一步包括:接收针对所述待测试的页面元素信息的测试参数,将所述测试参数传入所述匹配到的中间件接口,所述匹配到的中间件接口通过调用对应的中间件变量对所述待测试的页面元素执行测试操作。2.根据权利要求1所述的方法,其特征在于,所述对网页进行解析,并对应网页中的页面元素生成中间件变量包括:将网页解析成HTMLDOM树并遍历所述HTMLDOM树,所述网页的一个页面元素对应所述HTMLDOM树的一个节点;依据所述HTMLDOM树的节点对应的页面元素生成中间件变量,其中,所述页面元素的属性信息作为所述中间件变量的属性集。3.根据权利要求2所述的方法,其特征在于,所述页面元素的属性信息包括以下任意一项或几项:所在网页的地址信息、页面元素的类别、页面元素的名称,页面元素的id和页面元素的值。4.根据权利要求2所述的方法,其特征在于,所述根据中间件变量生成中间件接口包括:遍历所述各中间件变量的属性集,将所述属性集中相同属性的中间件变量归为一个哈希表,并以所述相同属性对该哈希表命名,将所述相同属性的中间件变量归为该哈希表的成员;依据所述HTMLDOM树的层级关系,将所述哈希表中具有相同父节点的哈希表生成一个中间件接口,所述中间件接口以父节点对应的页面元素的任一属性信息命名。5.根据权利要求1所述的方法,其特征在于,所述查找与所述待测试的页面元素信息相匹配的中间件接口包括:计算所述待测试的页面元素信息与各中间件接口的匹配度;根据所述匹配度查找与所述待测试的页面元素信息相匹配的中间件接口。6.根据权利要求5所述的方法,其特征在于,所述计算所述待测试的页面元素信息与各中间件接口的匹配度包括:获取所述待测试的页面元素信息中的页面元素名称,并获取所述中间件接口的名称;将所述待测试的页面元素名称和所述中间件接口名称的所有字符转换为小写/大写字符;计算所述待测试的页面元素名称和所述中间件接口名称的相同的小写/大写字符的个数,记为最长匹配串;将所述最长匹配串与所述中间件接口名称的小写/大写字符的个数做除法运算,将所述除法运算的商作为所述待测试的页面元素信息与所述中间件接口的匹配度。7.根据权利要求6所述的方法,其特征在于,所述根据所述中间件接口的匹配度查找与所述待测试的页面元素信息相匹配的中间件接口包括:判断所述待测试的页面元素信息与各中间件接口的匹配度中最大匹配度是否高于或等于预设的阈值;当所述最大匹配度高于或等于预设的阈值时,将所述最大匹配度对应的中间件接口作为所述待测试的页面元素信息匹配得到的中间件接口;当所述最大匹配度低于预设的阈值时,匹配失败。8.根据权利要求2所述的方法,其特征在...

【专利技术属性】
技术研发人员:栗志果
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1