本发明涉及测试技术领域,具体涉及一种后台管理系统测试方法。
背景技术:
当前互联网公司需求更新快,业务变化大,致使前端及后端更新频率高。在前端及后端测试中,公司往往更重视前端app测试,对于后台管理系统测试力量很薄弱。但实际上每个前端app的变化都会对应一个后台管理系统的变化,无论前端或后端哪一个出现问题都直接影响客户使用及公司收益。后台管理系统页面结构相对固定、简单,给自动化测试提供便利,但由于页面自动化容错性较差,导致维护成本较大。
现有对后台管理系统的方案包括以下几种方案:
(1)通过人工遍历测试,手动遍历、校验后台管理系统的每个页面并记录测试结果,该方案的测试时间长,需手动记录测试结果及整理发送遍历测试结果,测试效率低;
(2)通过页面自动化遍历测试,手动编写各个页面脚本后校验后台管理系统页面中元素并记录测试结果,自动发送页面遍历测试结果,后台管理系统更新后需对修改或添加的页面重新编写页面脚本,该方案需对所有页面进行完成测试,导致测试时间长,测试效率低;
(3)接口自动化遍历测试,手动编写各个页面对应接口后校验后台管理系统接口返回的数据并记录测试结果,自动发送接口遍历测试结果,后台管理系统更新后需对修改或添加的页面重新编写接口脚本,导致维护成本高。
如何保证后台管理系统功能及页面正常并能够快速、准确的完成拥有成百上千子页面的后台管理系统测试成为广大测试人员关注的重点。
技术实现要素:
为解决现有技术的不足,本发明实施例提供了一种后台管理系统测试方法,该方法包括以下步骤:
s1获取配置文档中待测试环境名称;
s2根据所述待测试环境名称,获取相应的待测试环境参数、前端浏览器参数及断言列表;
s3根据所述待测试环境参数中的接口参数,从后端服务器获取相应的目录信息;
s4判断所述目录信息是否正确,若否,则根据所述待测试环境参数中的数据库参数,从后台服务器获取相应的目录信息,若是,则执行步骤s6;
s5判断所述目录信息是否正确,若是,则执行步骤s6,若否,则执行步骤s11;
s6解析所述目录信息,得到多个相应的底层目录的全路径;
s7循环遍历各个底层目录的全路径并根据待测试列表判断各个底层目录的全路径是否需要测试,若是,则执行步骤s8;
s8解析各个底层目录的全路径,得到底层目录顺序列表;
s9根据所述底层目录顺序列表,依次得到底层目录对应的页面;
s10根据所述断言列表,分别判断底层目录对应的页面是否正确;若是,则将相应的测试结果到结果文档中,若否,则执行步骤s11;
s11对错误页面进行截图并将相应的测试结果写入结果文档中。
优选地,判断所述目录信息是否正确包括:
判断所述目录信息是否包括一个或多个键值对形式的数据,若否,则确定所述目录信息错误。
优选地,所述接口参数包括请求行、请求体及请求头。
优选地,所述数据库参数包括数据库的ip地址、用户名及密码。
优选地,所述断言列表可根据实际需求灵活配置。
优选地,在根据所述待测试环境参数中的接口参数,从后端服务器获取相应的目录信息,所述方法还包括:
根据所述前端浏览器参数,判断是否启用前端浏览器。
本发明实施例提供的后台管理系统测试方法具有以下有益效果:
(1)实现一键触发,自动遍历后台管理系统,自动记录测试结果,提高了测试效率;
(2)断言列表可灵活配置,校验后台管理系统更加方便、快捷;
(3)无论后台管理系统是否更新,都使用接口或数据库两种方式获取目录信息,能一次性获取全部目录信息(包含新添加的目录信息),稳定性高;
(4)自动解析目录信息,自动解析底层目录全路径,容错性极高;
(5)错误页面实时截图,测试结果清晰明确,提高了测试结果的可读性。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明实施例提供的后台管理系统测试方法包括以下步骤:
s101,获取配置文档中待测试环境名称。
s102,根据待测试环境名称,获取相应的待测试环境参数、前端浏览器参数及断言列表。
s103,根据待测试环境参数中的接口参数,从后端服务器获取相应的目录信息。
s104,判断目录信息是否正确,若否,则根据待测试环境参数中的数据库参数,从后台服务器获取相应的目录信息,若是,则执行步骤s106。
s105,判断目录信息是否正确,若是,则执行步骤s106,若否,则执行步骤s111。
s106,解析目录信息,得到多个相应的底层目录的全路径。
作为一个具体的实施例,在一个数据结构树中,c、e及f为底层目录(叶节点),存在具体页面;a为顶层目录(根节点),不存在具体页面;b及d为中间层目录(子节点),不存在具体页面。则相应的底层目录全路径指的是:a-b-c、a-d-e、a-f;登录系统后a是闭合状态,需要点击a才能看到b、f及d,故要想进入c页面需要点击a再点击b,最后点击c后进入c页面。
s107,循环遍历各个底层目录的全路径并根据待测试列表判断各个底层目录的全路径是否需要测试,若是,则执行步骤s108。
s108,解析各个底层目录的全路径,得到底层目录顺序列表。
s109,根据底层目录顺序列表,依次得到底层目录对应的页面。
s110,根据断言列表,分别判断底层目录对应的页面是否正确;若是,则将相应的测试结果到结果文档中,若否,则执行步骤s111。
s111,对错误页面进行截图并将相应的测试结果写入结果文档中。
可选地,判断目录信息是否正确包括:
判断目录信息是否包括一个或多个键值对形式的数据,若否,则确定目录信息错误。
可选地,接口参数包括请求行、请求体及请求头。
可选地,数据库参数包括数据库的ip地址、用户名及密码。
可选地,断言列表可根据实际需求灵活配置。
作为一个具体的实施例,当页面包含500、404及error字段时,认为页面显示异常,那么就可以将上述字段加入断言列表,即断言列表为(500、404、error)。
优选地,在根据待测试环境参数中的接口参数,从后端服务器获取相应的目录信息,该方法还包括:
根据前端浏览器参数,判断是否启用前端浏览器。
作为一个具体的实施例,当前端浏览器参数为1时,表示开启前端浏览器,当前端浏览器参数为0时,表示关闭前端浏览器。
本发明实施例提供的后台管理系统测试方法,通过获取配置文档中待测试环境名称,根据待测试环境名称,获取相应的待测试环境参数、前端浏览器参数及断言列表,根据待测试环境参数中的接口参数,从后端服务器获取相应的目录信息,判断目录信息是否正确,若是,则解析目录信息,得到多个相应的底层目录的全路径,循环遍历各个底层目录的全路径并根据待测试列表判断各个底层目录的全路径是否需要测试,若是,则解析各个底层目录的全路径,得到底层目录顺序列表,根据底层目录顺序列表,依次得到底层目录对应的页面,根据断言列表,分别判断底层目录对应的页面是否正确,若是,则将相应的测试结果到结果文档中,若否,则对错误页面进行截图并将相应的测试结果写入结果文档中,提高了测试效率及测试结果的可读性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。