一种PYTHON通用APP软件自动化测试框架系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201911235342.0
(22)申请日 2019.12.05
(71)申请人 紫光云(南京)数字技术有限公司
地址 210000 江苏省南京市浦口区江浦街
道浦滨路320号浦口科创广场科创总
部大厦B座17楼
(72)发明人 毛杨杨 
(51)Int.Cl.
G06F  11/36(2006.01)
(54)发明名称一种PYTHON通用APP软件自动化测试框架系统(57)摘要本发明涉及软件测试技术领域,公开了一种PYTHON通用APP软件自动化测试框架系统,包括脚本维护模块、脚本生成模块、脚本执行模块、结果验证模块和报告生成模块,所述脚本生成模块采用unittest框架+HtmlTestRunner输出报告,可以自动化生成测试脚本,并且提供接口自动化模块或者ui自动化模块两种自动化测试方式。本发明的脚本生成模块采用u n i t t e s t 框架+HtmlTestRunner输出报告,可以自动化生成测试脚本,从而通过高效、维护成本低的测试脚本生成方法,可以有效地降低系统维护成本,脚本执行模块可以单独执行接口自动化模块或者ui自动化模块两种自动化测试方式中的其中一种,也可以同时执行两种,从而实现了多样化的自动化
方法。权利要求书2页  说明书4页  附图3页CN 111078547 A 2020.04.28
C N  111078547
A
1.一种PYTHON通用APP软件自动化测试框架系统,包括脚本维护模块、脚本生成模块、脚本执行模块、结果验证模块和报告生成模块,其特征在于,所述脚本维护模块用于当版本迭代或者需要更新时,修改测试用例数据库中的相关字段,所述脚本生成模块采用unittest框架+HtmlTestRunner输出报告,可以自动化生成测试脚本,并且提供接口自动化模块或者ui自动化模块两种自动化测试方式,所述脚本执
行模块执行一种或同时执行自动化测试方式,所述结果验证模块用于验证模两种自动化测试的结果,所述报告生成模块用于将报告生成并发送到展示服务器,便于开发、测试、管理人员在线浏览测试结果,及时发现问题。
2.根据权利要求1所述的一种PYTHON通用APP软件自动化测试框架系统,其特征在于,测试方法包括以下步骤:
S1、编写测试模板包括选择自动化测试方式(接口自动化模块或者ui自动化模块):通过python中的Template库,可以根据数据库中的模板编号读取测试模板文件,按照模板文件格式,批量生成测试脚本,再编写模板文件的时候,可选择调用接口自动化模块或者ui自动化模块,或者两者都使用;
S2、在数据库中录入用例相关数据(接口自动化模块需要录入接口各项信息,ui自动化模块需要录入每一步的步骤放在列表中):在mysql数据库中建立用例库,用例库中需要测试的表以test开头,新建表时,将接口自动化模块所需的接口信息、ui自动化模块所需的流程步骤以及生成脚本所要使用的模板编号录入;
S3、在公共模块中录入环境信息(包括数据库信息,环境信息,app包名、设备名等):通过连接手机或者模拟器后,根据命令获取设备名、app包等,录入到公共模块;
S4、开始测试(生成测试报告发送到展示服务器,访问可见详细报告包括通过率、错误率、正确率、概览、详情,有截图的用例可以查看截图,并且提供下载所有截图以及操作日志的功能):测试过程展开分为两种;一种为ui自动化模块,另一种为接口自动化模块。
3.根据权利要求1所述的一种PYTHON通用APP软件自动化测试框架系统,其特征在于,所述ui自动化模块使用python中的UiAutomator自动化框架实现页面元素抓取,点击、输入文本、截图等功能,所述截图模块包括截图、图片处理、图片上传、图片打包等功能。
4.根据权利要求1所述的一种PYTHON通用APP软件自动化测试框架系统,其特征在于,所述接口自动化模块使用python中的requests库来发送接口请求,且接口自动化模块的功能还包括:
(1)、获取验证码功能,app验证过程中,会需要手机短信验证码,通过在手机上的Tasker软件编写脚本,获取短信实时验证码将其发送到服务器上,并获取内容;
(2)、参数加解密功能,若接口参数被加密,则需要加解密模块对参数处理后发送或者获取,实现方式采用python中的Crypto库;
(4)、截图功能,通过python-selenium中的webdriver将接口页面渲染,可采用手机模式渲染,以便于与ui模块获得的截图比较;
(5)、页面检查模块,将渲染后的页面通过bs4中的BeautifulSoup获取页面信息,并可验证信息的正确性,并将检测结果返回用例。
5.根据权利要求1所述的一种PYTHON通用APP软件自动化测试框架系统,其特征在于,所述ui自动化模块包括以下工作流程:(1)、获取流程步骤;(2)、执行流程步骤;(3)、通过获
取页面元素并进行比较,判断测试是否通过,当测试通过后,自动进入到下一步,当测试未通过时,自动返回到第一步;(4)、截图并返回测试结果。
6.根据权利要求1所述的一种PYTHON通用APP软件自动化测试框架系统,其特征在于,所述接口自动化模块包括以下工作流程:(1)、获取接口信息;(2)、发送接口请求并获得返回值;(3)、通过返回值与准确值对比,判断测试是否通过,当测试通过后,自动进入到下一步,当测试未通过时,自动返回到第一步;(4)、截图并返回测试结果。
一种PYTHON通用APP软件自动化测试框架系统
技术领域
[0001]本发明涉及软件测试技术领域,具体是一种PYTHON通用APP软件自动化测试框架系统。
背景技术
[0002]随着网络技术的高速发展,APP软件在我们的日常生活中几乎无处不在,在当前的开发背景下,APP软件的版本更新迭代很快,在软件更新时,必须对其进行测试,目前在进行自动化测试时,大多采用开源自动化框架分别进行UI自动化测试和接口自动化测试,通过编写测试脚本或录入测试步骤维护测试用例,因此,每次更新都需要人工手动测试,测试人员的重复工作的工作量很大。
[0003]中国专利公开了一种软件自动化测试框架及测试方法(公开号CN110232024A),该专利技术能够方便的对软件进行测试,覆盖面广,无需人工编码,节约了软件测试成本,但是其每次版本更新都需要更改代码或者脚本,测试脚本维护成本过高,并且不能将两者结合起来使用,以及自由度不够,需严格按照框架设定的流程走,二次开发不友好。因此,本领域技术人员提供了一种PYTHON通用APP软件自动化测试框架系统,以解决上述背景技术中提出的问题。
发明内容
[0004]本发明的目的在于提供一种PYTHON通用APP软件自动化测试框架系统,以解决上述背景技术中提出的问题。
[0005]为实现上述目的,本发明提供如下技术方案:
[0006]一种PYTHON通用APP软件自动化测试框架系统,包括脚本维护模块、脚本生成模块、脚本执行
模块、结果验证模块和报告生成模块,所述脚本维护模块用于当版本迭代或者需要更新时,修改测试用例数据库中的相关字段,从而降低了脚本维护的成本,所述脚本生成模块采用unittest框架+HtmlTestRunner输出报告,可以自动化生成测试脚本,并且提供接口自动化模块或者ui自动化模块两种自动化测试方式,所述脚本执行模块执行一种或同时执行自动化测试方式,所述结果验证模块用于验证模两种自动化测试的结果,所述报告生成模块用于将报告生成并发送到展示服务器,便于开发、测试、管理人员在线浏览测试结果,及时发现问题,保证产品质量。
[0007]作为本发明进一步的方案:测试方法包括以下步骤:
[0008]S1、编写测试模板包括选择自动化测试方式(接口自动化模块或者ui自动化模块):通过python中的Template库,可以根据数据库中的模板编号读取测试模板文件,按照模板文件格式,批量生成测试脚本,再编写模板文件的时候,可选择调用接口自动化模块或者ui自动化模块,或者两者都使用;
[0009]S2、在数据库中录入用例相关数据(接口自动化模块需要录入接口各项信息,ui自动化模块需要录入每一步的步骤放在列表中):在mysql数据库中建立用例库,用例库中需
要测试的表以test开头,新建表时,将接口自动化模块所需的接口信息、ui自动化模块所需的流程步骤以及生成脚本所要使用的模板编号录入;
[0010]S3、在公共模块中录入环境信息(包括数据库信息,环境信息,app包名、设备名等):通过连接手机或者模拟器后,根据命令获取设备名、app包等,录入到公共模块;[0011]S4、开始测试(生成测试报告发送到展示服务器,访问可见详细报告包括通过率、错误率、正确率、概览、详情,有截图的用例可以查看截图,并且提供下载所有截图以及操作日志的功能):测试过程展开分为两种;一种为ui自动化模块,另一种为接口自动化模块。[0012]作为本发明再进一步的方案:所述ui自动化模块使用python中的UiAutomator自动化框架实现页面元素抓取,点击、输入文本、截图等功能,所述截图模块包括截图、图片处理、图片上传、图片打包等功能。
[0013]作为本发明再进一步的方案:所述接口自动化模块使用python中的requests库来发送接口请求,且接口自动化模块的功能还包括:
[0014](1)、获取验证码功能,app验证过程中,会需要手机短信验证码,通过在手机上的Tasker软件编写脚本,获取短信实时验证码将其发送到服务器上,并获取内容;
[0015](2)、参数加解密功能,若接口参数被加密,则需要加解密模块对参数处理后发送或者获取,实现方式采用python中的Crypto库;
[0016](4)、截图功能,通过python-selenium中的webdriver将接口页面渲染,可采用手机模式渲染,以便于与ui模块获得的截图比较;
[0017](5)、页面检查模块,将渲染后的页面通过bs4中的BeautifulSoup获取页面信息,并可验证信息的正确性,并将检测结果返回用例。
[0018]作为本发明再进一步的方案:所述ui自动化模块包括以下工作流程:(1)、获取流程步骤;(2)、执行流程步骤;(3)、通过获取页面元素并进行比较,判断测试是否通过,当测试通过后,自动进入到下一步,当测试未通过时,自动返回到第一步;(4)、截图并返回测试结果。
[0019]作为本发明再进一步的方案:所述接口自动化模块包括以下工作流程:(1)、获取接口信息;(2)、发送接口请求并获得返回值;(3)、通过返回值与准确值对比,判断测试是否通过,当测试通过后,自动进入到下一步,当测试未通过时,自动返回到第一步;(4)、截图并返回测试结果。
[0020]与现有技术相比,本发明的有益效果:
[0021]1、脚本生成模块采用unittest框架+HtmlTestRunner输出报告,可以自动化生成测试脚本,从而通过高效、维护成本低的测试脚本生成方法,可以有效地降低系统维护成本。
[0022]2、脚本执行模块可以执行接口自动化模块或者ui自动化模块两种自动化测试方式中的一种,也可以同时执行两种,从而实现了多样化的自动化方法。
[0023]3、整个系统采用了高度自由,二次开发十分友好的框架体系:了解代码的测试人员可根据自身产
品情况对框架进行二次开发,获取想要的结果。
[0024]4、接口自动化模块提供例如手机验证码获取、加解密方法兼容等功能,帮助测试人员解决一些实际问题,如在无法从数据库获取验证码的情况下,如何完成注册,修改密码的流程。

本文发布于:2024-09-22 12:51:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/419220.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   测试   脚本   生成   接口   框架   包括   软件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议