本申请提供了一种测试脚本的运行方法及装置、设备、计算机可读存储介质,获取包括用于实现测试用例的代码的测试脚本,其中,访问对象为同一域名但访问发起主体不同的第一被测事件和第二被测事件被包含在同一个测试用例中,在运行测试脚本的过程中,查询测试脚本中的目标代码单元对应的cookie,如果目标代码单元对应的cookie已存在,使用浏览器中cookie对应的页面运行目标代码单元,如果目标代码单元对应的cookie不存在,在浏览器中启动新页面运行目标代码单元,使用运行目标代码单元的页面对应的cookie访问域名。可见,能够对不同账户使用同一浏览器登录同一网站的过程进行连续测试,因此提高浏览器的自动测试的效率。
【技术实现步骤摘要】
测试脚本的运行方法及装置、设备、计算机可读存储介质
本申请涉及自动测试领域,尤其涉及一种测试脚本的运行方法及装置、设备、计算机可读存储介质。
技术介绍
对浏览器进行测试的目的在于,模仿用户对于浏览器的使用过程,收集浏览器在被使用过程中的各项信息,以定位浏览器可能存在的各种问题。现有的自动化测试,往往还是需要测试人员编写测试脚本,通过运行测试脚本实现对于浏览器的自动测试。然而因为现有的浏览器不支持不同的账户同时登录同一网站,所以在自动测试过程中,不可能对不同账户使用同一浏览器登录同一网站的过程进行连续测试,而是在针对一个用户的自动测试完成后,手动切换用户登录。因此,针对浏览器的自动测试的效率有待提高。
技术实现思路
本申请提供了一种测试脚本的运行方法及装置、设备、计算机可读存储介质,目的在于解决如何提高浏览器的自动测试的效率的问题。为了实现上述目的,本申请提供了以下技术方案:一种测试脚本的运行方法,包括:获取测试脚本,所述测试脚本中包括用于实现测试用例的代码,其中,第一被测事件和第二被测事件被包含在同一个测试用例中,所述第一被测事件与所述第二被测事件的访问对象为同一域名,所述第一被测事件与所述第二被测事件的访问发起主体不同;在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie;所述目标代码单元为任意一个代码单元;如果所述目标代码单元对应的cookie已存在,使用浏览器中所述cookie对应的页面运行所述目标代码单元;如果所述目标代码单元对应的cookie不存在,在所述浏览器中启动新页面运行所述目标代码单元;使用运行所述目标代码单元的页面对应的cookie访问所述域名。可选的,所述用于实现测试用例的代码以倒序编写,所述倒序为与被测事件的执行顺序相反的顺序;所述测试脚本中还包括:指示目标代码单元的依赖代码单元的注释;其中,所述目标代码单元为任意一个代码单元,所述依赖代码单元为所述测试用例执行过程中,在所述目标代码单元之前执行的代码单元。可选的,在所述在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie之前,还包括:通过所述注释递归查询所述测试用例的根代码单元,所述根代码单元为首先运行的代码单元;从所述根代码单元起,依据所述注释,依次运行所述测试脚本中的各个代码单元。可选的,还包括:依据封装指令,将所述测试脚本中的代码单元进行封装,得到测试用例单元;其中,封装至一个所述测试用例单元的代码单元包括:使用同一页面运行的各个代码单元、按照具有预设执行顺序的代码单元、或者被多个代码单元依赖的依赖代码单元。可选的,所述查询所述测试脚本中的目标代码单元对应的cookie,包括:从预设的存储空间查询所述测试脚本中的目标代码单元对应的cookie,其中,所述存储空间用于存储得到浏览器运行中产生的cookie。可选的,所述浏览器包括:PC浏览器和/或手机浏览器。一种测试脚本的运行装置,包括:获取模块,用于获取测试脚本,所述测试脚本中包括用于实现测试用例的代码,其中,第一被测事件和第二被测事件被包含在同一个测试用例中,所述第一被测事件与所述第二被测事件的访问对象为同一域名,所述第一被测事件与所述第二被测事件的访问发起主体不同;查询模块,用于在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie;所述目标代码单元为任意一个代码单元;运行模块,用于如果所述目标代码单元对应的cookie已存在,使用浏览器中所述cookie对应的页面运行所述目标代码单元;如果所述目标代码单元对应的cookie不存在,在所述浏览器中启动新页面运行所述目标代码单元;使用运行所述目标代码单元的页面对应的cookie访问所述域名。可选的,所述测试脚本的运行装置基于Selenium和Appium框架设置。一种测试脚本的运行设备,包括处理器和存储器;所述存储器用于存储程序,所述处理器用于运行所述程序,以实现上述的测试脚本的运行方法。一种计算机可读存储介质,其上存储有程序,在所述程序被计算设备运行时,实现上述的测试脚本的运行方法。本申请所述的测试脚本的运行方法及装置,获取包括用于实现测试用例的代码的测试脚本,其中,访问对象为同一域名但访问发起主体不同的第一被测事件和第二被测事件被包含在同一个测试用例中,在运行测试脚本的过程中,查询测试脚本中的目标代码单元对应的cookie,如果目标代码单元对应的cookie已存在,使用浏览器中cookie对应的页面运行目标代码单元,如果目标代码单元对应的cookie不存在,在浏览器中启动新页面运行目标代码单元,使用运行目标代码单元的页面对应的cookie访问域名。可见,能够对不同账户使用同一浏览器登录同一网站的过程进行连续测试,因此提高浏览器的自动测试的效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种测试脚本的运行方法流程图;图2为本申请实施例公开的又一种测试脚本的运行方法的流程图;图3为本申请实施例公开的一种测试脚本的运行装置的结构示意图;图4为本申请实施例公开的一种测试脚本的运行设备的结构示意图。具体实施方式本申请实施例提供的测试脚本的运行方法以及装置,可以应用在自动测试设备或装置中,使得浏览器能够使用不同的cookie访问同一域名,以提高自动测试的效率。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例公开的一种测试脚本的运行方法,包括以下步骤:S101、获取测试脚本。其中,测试脚本中包括用于实现测试用例的代码。被测事件是指用户操作浏览器的模拟流程。本实施例中,假设第一被测事件与所述第二被测事件的访问对象为同一域名,即第一被测事件与第二被测事件访问同一网站。但第一被测事件与第二被测事件的访问发起主体不同,例如,第一被测事件可以被账户A发起,而第二被测事件被账户B发起。现有技术中,在自动测试过程中,上述被测事件因为不可能被自动连续执行,所以,往往不会被写入一个测试用例中。而本实施例中,第一被测事件和第二被测事件被包含在同一个测试用例中。可以理解的是,测试脚本可以由测试人员编写,具体的代码内容可以参见现有技术,这里不再赘述。S102、运行测试脚本以执行自本文档来自技高网...
【技术保护点】
1.一种测试脚本的运行方法,其特征在于,包括:/n获取测试脚本,所述测试脚本中包括用于实现测试用例的代码,其中,第一被测事件和第二被测事件被包含在同一个测试用例中,所述第一被测事件与所述第二被测事件的访问对象为同一域名,所述第一被测事件与所述第二被测事件的访问发起主体不同;/n在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie;所述目标代码单元为任意一个代码单元;/n如果所述目标代码单元对应的cookie已存在,使用浏览器中所述cookie对应的页面运行所述目标代码单元;/n如果所述目标代码单元对应的cookie不存在,在所述浏览器中启动新页面运行所述目标代码单元;/n使用运行所述目标代码单元的页面对应的cookie访问所述域名。/n
【技术特征摘要】
1.一种测试脚本的运行方法,其特征在于,包括:
获取测试脚本,所述测试脚本中包括用于实现测试用例的代码,其中,第一被测事件和第二被测事件被包含在同一个测试用例中,所述第一被测事件与所述第二被测事件的访问对象为同一域名,所述第一被测事件与所述第二被测事件的访问发起主体不同;
在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie;所述目标代码单元为任意一个代码单元;
如果所述目标代码单元对应的cookie已存在,使用浏览器中所述cookie对应的页面运行所述目标代码单元;
如果所述目标代码单元对应的cookie不存在,在所述浏览器中启动新页面运行所述目标代码单元;
使用运行所述目标代码单元的页面对应的cookie访问所述域名。
2.根据权利要求1所述的方法,其特征在于,所述用于实现测试用例的代码以倒序编写,所述倒序为与被测事件的执行顺序相反的顺序;
所述测试脚本中还包括:
指示目标代码单元的依赖代码单元的注释;其中,所述目标代码单元为任意一个代码单元,所述依赖代码单元为所述测试用例执行过程中,在所述目标代码单元之前执行的代码单元。
3.根据权利要求2所述的方法,其特征在于,在所述在运行所述测试脚本的过程中,查询所述测试脚本中的目标代码单元对应的cookie之前,还包括:
通过所述注释递归查询所述测试用例的根代码单元,所述根代码单元为首先运行的代码单元;
从所述根代码单元起,依据所述注释,依次运行所述测试脚本中的各个代码单元。
4.根据权利要求1所述的方法,其特征在于,还包括:
依据封装指令,将所述测试脚本中的代码单元进行封装,得到测试用例单元;其中,封装至一个所述测试用例单元的代码单元包括:使用同一页面运行的各个代码单元、按照具有预设执行顺序的代码单元、或者被...
【专利技术属性】
技术研发人员:贾世杰,
申请(专利权)人:深圳集智数字科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。