一种Web项目的前后端自动化测试整合方法和装置制造方法及图纸

技术编号:32514542 阅读:8 留言:0更新日期:2022-03-02 11:06
本发明专利技术实施例公开了一种Web项目的前后端自动化测试整合方法和装置,其中方法包括:在前端测试框架中对开源Nightwatch框架进行封装;在需要执行前端测试时,根据测试人员的操作确定所使用的目标选择器,利用目标选择器进行页面元素定位,并根据测试人员的后续操作运行前端测试;判断是否需要在执行前端测试的同时也执行后端测试;在判断需要在执行前端测试的同时也执行后端测试时,根据测试人员在前端的操作内容运行后端测试;在需要单独执行后端测试时,获取后端接口调用的脚本,并根据测试人员添加的输入数据运行后端测试;在前端测试或者后端测试完毕后,调用预设的方法关闭测试,并生成对应的测试报告。并生成对应的测试报告。并生成对应的测试报告。

【技术实现步骤摘要】
一种Web项目的前后端自动化测试整合方法和装置


[0001]本专利技术涉及自动化测试
,并且更具体地,涉及一种Web项目的前后端自动化测试整合方法和装置。

技术介绍

[0002]现有的大多数方案都是针对自动化技术在web项目中应用的解决方案,并没有一种能够对web项目的前后端进行整合的自动化测试方案。众多的测试工程师可能做过很多后端的自动化测试工作,但是对前端的自动化测试大都望而却步。并且,前端代码会运行在不同的终端环境上,页面的修改也需要重设某些元素定位,种种特征使前端的自动化测试成本要远远高于后端自动化测试,且无法通过某一台测试发现真正存在的问题。因此,测试人员不仅需要重复测试,也无法准确定位问题,测试效率低。
[0003]针对上述的现有技术中存在的无法高效地进行前端和后端的联调测试的技术问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本专利技术要解决的问题包括无法高效地进行前端和后端的联调测试。
[0005]为了解决上述诸如无法高效地进行前端和后端的联调测试、测试时间长、测试效率低的技术问题,提出了本专利技术。本专利技术的实施例提供了一种Web项目的前后端自动化测试整合方法和装置、以及存储介质和电子设备。
[0006]根据本专利技术实施例的一个方面,提供了一种Web项目的前后端自动化测试整合方法,所述方法包括:
[0007]在前端测试框架中对开源Nightwatch框架进行封装;
[0008]在需要执行前端测试时,根据测试人员的操作确定所使用的目标选择器,利用目标选择器进行页面元素定位,并根据测试人员的后续操作运行前端测试;
[0009]判断是否需要在执行前端测试的同时也执行后端测试;
[0010]在判断需要在执行前端测试的同时也执行后端测试时,根据测试人员在前端的操作内容运行后端测试;
[0011]在需要单独执行后端测试时,获取后端接口调用的脚本,并根据测试人员添加的输入数据运行后端测试;
[0012]在前端测试或者后端测试完毕后,调用预设的方法关闭测试,并生成对应的测试报告。
[0013]可选地,根据测试人员的操作确定所使用的目标选择器的操作,包括:
[0014]在测试人员选择使用CSS选择器时,将CSS选择器确定为目标选择器;
[0015]在测试人员选择使用XPath选择器时,将XPath选择器确定为目标选择器。
[0016]可选地,利用目标选择器进行页面元素定位的操作,包括:
[0017]在目标选择器为CSS选择器时,使用CSS选择器在页面上进行页面元素定位;
[0018]在目标选择器为XPath选择器时,调用useXpath()方法并利用XPath选择器在页面上进行页面元素定位。
[0019]可选地,根据测试人员的后续操作运行前端测试的操作,包括:
[0020]根据测试人员对界面的触发操作,确定界面操作内容;
[0021]接收测试人员添加的断言;
[0022]设置调用超时,并在设置完成调用超时后开始运行前端测试。
[0023]可选地,根据测试人员在前端的操作内容运行后端测试的操作,包括:
[0024]将测试人员在前端的操作内容作为后端接口服务的输入条件;
[0025]添加后端测试的相应断言,来判断后端接口服务的返回结果是否正确;
[0026]在后端测试的相应断言添加完毕后,运行后端测试。
[0027]可选地,其中还包括:
[0028]在判断不需要在执行前端测试的同时也执行后端测试时,确定前端测试完毕;
[0029]在前端测试完毕后,调用end()方法关闭前端测试,并生成前端测试对应的测试报告。
[0030]可选地,其中还包括:
[0031]在后端测试完毕后,调用end()方法关闭后端测试,并生成后端测试对应的测试报告。
[0032]根据本专利技术实施例的另一个方面,提供了一种Web项目的前后端自动化测试整合装置,所述装置包括:
[0033]封装模块,用于在前端测试框架中对开源Nightwatch框架进行封装;
[0034]前端测试模块,用于在需要执行前端测试时,根据测试人员的操作确定所使用的目标选择器,利用目标选择器进行页面元素定位,并根据测试人员的后续操作运行前端测试;
[0035]判断模块,用于判断是否需要在执行前端测试的同时也执行后端测试;
[0036]第一后端测试模块,用于在判断需要在执行前端测试的同时也执行后端测试时,根据测试人员在前端的操作内容运行后端测试;
[0037]第二后端测试模块,用于在需要单独执行后端测试时,获取后端接口调用的脚本,并根据测试人员添加的输入数据运行后端测试;
[0038]测试报告生成模块,用于在前端测试或者后端测试完毕后,调用预设的方法关闭测试,并生成对应的测试报告。
[0039]根据本专利技术实施例的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本专利技术上述任一实施例所述的方法。
[0040]根据本专利技术实施例的又一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行本专利技术上述任一实施例所述的方法。
[0041]从而,本专利技术所提出的Web项目的前后端自动化测试整合交互方法,将web应用测试自动化,采取端到端的测试方案,从用户视角对真实系统的行为进行模拟,选用Nightwatch框架并对其进行封装,使测试人员编写脚本工作更加清晰简便易维护,填补了
前端自动化测试方面的空缺。并且,将后端接口自动化测试工作进行整合,可以根据项目需要自行配置自动化测试场景,可广泛应用于前端、后端、联调、回归测试等多种项目过程应用场景,为项目的各个阶段测试及开发工作,提供了简便高效率的工作方案及技术基础。通过本专利技术提出的技术方案,既能够填补web项目在前端自动化测试中的空缺,也能够整合后端自动化测试工作,使得web项目的自动化测试工作更贴近于实际的用户操作,并且使自动化测试工作更加灵活方便,能够适用于多种项目场景。测试人员仅需使用本测试方案即可开展前端和后端的自动化测试工作,根据项目的不同阶段,灵活配置使用方式,极大的提升了项目各个阶段的测试和开发联调的工作效率。
[0042]下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。
附图说明
[0043]通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0044]图1是本专利技术一示例性实施例提供的Web项目的前后端自动化测试整合方法的流程示意图;...

【技术保护点】

【技术特征摘要】
1.一种Web项目的前后端自动化测试整合方法,其特征在于,包括:在前端测试框架中对开源Nightwatch框架进行封装;在需要执行前端测试时,根据测试人员的操作确定所使用的目标选择器,利用目标选择器进行页面元素定位,并根据测试人员的后续操作运行前端测试;判断是否需要在执行前端测试的同时也执行后端测试;在判断需要在执行前端测试的同时也执行后端测试时,根据测试人员在前端的操作内容运行后端测试;在需要单独执行后端测试时,获取后端接口调用的脚本,并根据测试人员添加的输入数据运行后端测试;在前端测试或者后端测试完毕后,调用预设的方法关闭测试,并生成对应的测试报告。2.根据权利要求1所述的方法,其特征在于,根据测试人员的操作确定所使用的目标选择器的操作,包括:在测试人员选择使用CSS选择器时,将CSS选择器确定为目标选择器;在测试人员选择使用XPath选择器时,将XPath选择器确定为目标选择器。3.根据权利要求2所述的方法,其特征在于,利用目标选择器进行页面元素定位的操作,包括:在目标选择器为CSS选择器时,使用CSS选择器在页面上进行页面元素定位;在目标选择器为XPath选择器时,调用useXpath()方法并利用XPath选择器在页面上进行页面元素定位。4.根据权利要求1所述的方法,其特征在于,根据测试人员的后续操作运行前端测试的操作,包括:根据测试人员对界面的触发操作,确定界面操作内容;接收测试人员添加的断言;设置调用超时,并在设置完成调用超时后开始运行前端测试。5.根据权利要求1所述的方法,其特征在于,根据测试人员在前端的操作内容运行后端测试的操作,包括:将测试人员在前端的操作内容作为后端接口服务的输入条件;添加后端测试的相应断言,来判断后端接口服务的返回结果是否正确...

【专利技术属性】
技术研发人员:王鹏王乐马书超罗弯张宏伟宋海程安妮
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

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

1