CN113849407A - 基于Django带权限校验的自动化测试web化方法及系统 - Google Patents

基于Django带权限校验的自动化测试web化方法及系统 Download PDF

Info

Publication number
CN113849407A
CN113849407A CN202111122012.8A CN202111122012A CN113849407A CN 113849407 A CN113849407 A CN 113849407A CN 202111122012 A CN202111122012 A CN 202111122012A CN 113849407 A CN113849407 A CN 113849407A
Authority
CN
China
Prior art keywords
module
test
configuration file
django
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111122012.8A
Other languages
English (en)
Inventor
姬社平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wanshun Car Information Technology Co ltd
Original Assignee
Shenzhen Wanshun Car Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Wanshun Car Information Technology Co ltd filed Critical Shenzhen Wanshun Car Information Technology Co ltd
Priority to CN202111122012.8A priority Critical patent/CN113849407A/zh
Publication of CN113849407A publication Critical patent/CN113849407A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了基于Django带权限校验的自动化测试web化方法及系统,在不影响自动化系统本身功能的情况下,将启动和执行功能以图形界面的方式提供,从而使本发明中的方法和系统更加产品化,操作更便捷,用户体验更好,同时通过权限校验避免业务逻辑上的无效操作,提高了数据安全性;通过配置灵活、可读性及操作性强且自动化程度高的分析、配置、部署、运行等处理实现了高效灵活的软件/系统的自动化测试。

Description

基于Django带权限校验的自动化测试web化方法及系统
技术领域
本发明涉及测试技术领域,尤其涉及一种基于Django带权限校验的自动化测试web化方法及系统。
背景技术
在计算机应用领域,所有依赖计算设备辅助完成的功能都需要由开发人员事先经过严谨而周密的设计才能有效实现,设计开发的优劣直接影响到应用的效率、可靠性和易用性,但开发人员的能力、经验甚至工作压力都会直接影响应用设计的逻辑严谨性,为尽量避免开发人员的差异对计算机应用造成的负面影响,在应用开发设计过程中要进行反复的软件测试来发现并排除人为疏漏。
由于人脑的逻辑能力和适应能力远超目前已有的计算设备,现有技术中的软件测试通常采用人工测试方式来进行,即人工按照预设或习惯的流程来逐一对应用软件/系统进行较为完备的测试。人工测试虽然易于实现且效果较好,但其效率并不理想;典型地,在进行软件测试的时候经常会面对代码更新的情况,对于人工测试,一旦碰到提交了新的代码的情况,就得将整个测试流程再执行一遍,如果人工测试的步骤非常多,重复全部步骤将会是很耗时间的过程;而且由于是人工测试,人的操作易受到各种主客观因素的影响而具有未知性,因而人工测试的过程中很可能会出现错误或者疏漏的地方,实际测试效果往往并不理想。
为了弥补人工测试的缺陷,现有技术进一步出现了自动测试方式,通过代码化实现的测试用例来自动完成全部测试流程。但是,现有的自动化测试方式一方面未考虑业务系统的授权认证限制,安全性不足,同时也会造成业务逻辑上的无效操作,实际测试效果与预期偏差大;另一方面没有图形界面化,操作便捷性不足,体验性差。
发明内容
针对现有技术的缺陷,本发明的目的是提供一种基于Django带权限校验的自动化测试web化方法及系统,在不影响自动化系统本身功能的情况下,将启动和执行功能以图形界面的方式提供,从而使本发明中的方法和系统更加产品化,操作更便捷,用户体验更好,同时通过权限校验避免业务逻辑上的无效操作,提高了数据安全性。
本发明的一个方面,提供了一种基于Django框架的带权限校验的自动化测试方法,包括步骤:
初始化测试环境;
分析测试数据,接收所述测试数据的相关参数,生成配置文件;
部署所述配置文件并在指定的时间执行所述配置文件,根据执行的结果自动反馈测试结果。
所述初始化测试环境进一步包括:
通过图形化界面(Web页面)配置测试的项目信息、接口、用例及请求参数等信息;
接入LDAP模块做登录授权认证;
更新所述配置文件的环境属性设定。
所述分析测试数据进一步包括:
将所述测试用例的操作全过程细化分解到不可拆分的最小操作元素;
按操作顺序将各个所述最小操作元素进行关联;
对于每个所述最小操作元素,分别确定其需要接收的参数。
所述生成配置文件进一步包括:
根据所述最小操作元素的关联和顺序依次记录各元素信息。
所述方法中:
所述部署、所述执行和所述反馈采用默认方式进行或采用指定方式进行。
在本发明的另一方面,还同时提供了一种自动化测试系统,包括:
初始化模块,用于初始化数据环境;
配置模块,用于分析测试数据,接收所述测试用例的相关参数,生成配置文件;
测试模块,用于部署所述配置文件并在指定的时间执行所述配置文件,根据执行的结果自动反馈测试结果。
所述初始化模块包括:
属性确定模块,用于根据Web页面输入获取本次测试用例确定配置文件的环境属性;
授权认证模块,用于针对不同业务做登录授权管理;
属性更新模块,用于更新所述配置文件的环境属性设定。
所述配置模块包括:
拆分模块,用于将所述测试用例的操作全过程细化分解到不可拆分的最小操作元素;
关联模块,用于按操作顺序将各个所述最小操作元素进行关联;
参数分析模块,用于对于每个所述最小操作元素,分别确定其需要接收的参数。
所述配置模块还包括:
信息记录模块,用于根据所述最小操作元素的关联和顺序依次记录各操作元素信息。
所述测试模块包括:
Django框架中的WSGI(Web Server Gateway Interface)模块,用于提供Web服务器和Web应用程序或框架之间的一种简单而通用的接口;
Django框架中的view模块,通过Django中的model模块访问数据库中的数据,引入LDAP模块进行权限校验,用于进行所述执行和/或所述反馈处理;
Django中的manage模块,用于进行所述部署处理,完成Django中的model模块与数据库的交互。
本发明的技术方案提供的一种基于Django带权限校验的自动化测试web化方法及系统,通过配置灵活、可读性及操作性强且自动化程度高的分析、配置、部署、运行等处理实现了高效灵活的软件/系统的自动化测试。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本发明自动化测试方法实施例一的流程示意图;
图2是本发明自动化测试系统实施例一的结构示意图;
图3是本发明自动化测试系统实施例二的结构示意图;
图4是本发明自动化测试系统实施例三的结构示意图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
软件测试往往要通过多个流程步骤来逐一对应用软件/系统的功能进行测试,现有技术一般采用人工测试或自动测试的方式来进行,人工测试效率低且出错率不可预估不可控制,而现有的自动测试方式门槛高,需要掌握专业技能,故具体执行成效并不理想。因而无论采用哪种方式,现有技术的软件测试都更多依赖用户(即测试人员)的个人能力,实现难度大且效率不佳。
为降低自动测试的实现及执行门槛,从而更高效灵活地进行软件测试,本发明实施例中提供了一种全新的自动化测试的技术方案。具体地,本发明的实施例公开了一种基于Django的带有权限校验的自动化测试方法及系统,可以适应不同业务系统的权限校验,从而快捷自由地配置测试用例并自动实现测试全过程。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,在本发明的一个实施例中,自动化测试方法包括步骤:
步骤101,初始化数据环境;
在本实施例中,初始化数据环境进一步包括:
通过图形化界面配置测试的项目信息、接口、用例及请求参数等信息;
接入LDAP模块做登录授权认证;
更新所述配置文件的环境属性设定。
其中,所述环境属性包括项目和初始化执行的脚本发明件地址,相应设定在配置文件初始部分的project项setting属性中。
步骤102,分析测试数据,接收所述测试用例的相关参数,生成配置文件;
在软件测试中,一个测试用例往往针对一个具体而完整的功能进行,在本实施例中,分析所述测试用例时,通常需要分析所述测试用例针对的功能的全过程细节,原则上需要将所述测试用例的操作全过程细化分解到不可拆分的最小操作元素。更进一步地,除了需要按操作顺序将各最小操作元素关联之外,对于每个最小操作元素,还要根据分析结果来确定其需要接收的参数。其中,接收的参数包括但不限于资源地址、请求参数、运行参数、交互数据、运行结果、返回数据、验证信息、反馈内容等。
通过分析测试数据,将其细分为最小操作元素,一方面可以有效且清晰地梳理所述测试用例的逻辑,进行更为高效的验证,保证自动测试的准确性和可靠性;另一方面,最小操作元素还可用于系统的自学习,当从大量测试用例中得到的最小操作元素足够多时,直接采用已有的最小操作元素关联组合即可得到新的测试用例,从而进一步保证的自动化测试方案的灵活性和可扩展性。
步骤103,部署所述配置文件并在指定的时间执行所述配置文件,根据执行的结果自动反馈测试结果。
在本实施例中,通过自动部署、自动执行所述配置文件所代表的所述测试用例,并自动反馈结果来完成测试过程。其中,步骤103所述配置文件可部署在默认位置或根据设定部署在任意指定位置,比如通过在所述配置文件的标签项中设定部署位置来进行部署,所述配置文件被部署在测试服务器上。此外,所述配置文件可在各种指定的时间自动执行,比如在部署完成后立即执行、在默认时刻执行、在部署完成后默认时间间隔时执行、或在设定的时间(比如在配置文件的标签项中设定执行时间)执行。另外,所述配置文件可周期性地执行,从而测试软件/系统的稳定性、可靠性,以及验证所述测试用例的逻辑严谨性。执行周期可采用默认值或在所述配置文件中进行设定。进一步地,每次执行结果可按默认方式或按指定方式进行反馈,比如在所述配置文件中设定结果格式、反馈方式、反馈时间、接收地址等等,以实现软件测试全过程的自动化。
在本发明实施例的技术方案中,一方面基于python+request构建接口自动化框架;另一方面利用Django构建自动化测试Web框架,并引入LDAP模块完成不同业务系统的权限校验。
以下通过两个具体实施例,详细说明本发明自动化测试系统的实施方案。
图2为本发明自动化测试系统实施例一的结构示意图,如图2所示,基于python+request构建的接口自动化框架,具体实施步骤可以包括:
步骤201,创建接口自动化测试文件目录结构;
步骤202,在接口自动化测试文件目录config下添加用于保存待测系统公共信息的config.py文件;
本实施例中,配置文件主体是mysite项目,其中初始部分用于完成项目的初始化数据环境设置,即在项目project中配置config.py,这样可以把数据环境全部初始化一遍,保证这是个干净的环境。
步骤203,在api文件夹下添加待测接口的请求配置文件;
本实施例中,api文件夹下添加待测接口的请求配置,其中suite和case标签项分别是对本次测试套件和测试用例的描述,一般情况下,每个测试功能属于一个case。
步骤204,编写python文件封装接口测试过程中会用到的数据处理方法;
本实施例中,创建接口测试过程中用到的数据处理方法,首先分析测试数据:由于需要创建可以处理各用例数据所需方法,所以需要操作的步骤是先访问一个创建投放单资源的地址,并带上创建和投放的参数(入参),接着要验证该投放单是否成功,一般通过创建后的链接访问的响应状态码是否是200来判断,同时要求返回的json串中的code属性值为1。
于是,在测试用例的处理方法中,通过方法中的url及投放参数来完成一次请求,有:
defreturnFunc(self,keyWord):
"""
通过关键字选择指定的方法,这里分通用方法commFunc和指定方法(比如需要在方法内特殊处理字段的)
:paramkeyWord:关键字
:return:返回方法地址
"""
data={'driverCenter_taxiLogin':self.taxiLogin,'driverCenter_expLogin':self.expLogin}
#如果在关键字里面就使用关键字里面的地址,没有的话就用通用方法的地址
returndata.get(keyWord,self.commFunc)
defcommFunc(self,url,datas):
try:
log.info("发送的链接:"+url+";")
log.info(f"发送参数:{datas}")
res=requests.post(url,json=datas,headers=headers)
log.info(url+"接口响应时间为:"+str(res.elapsed))
ifres.status_code!=200:
returnf"接口响应失败:{str(res['code'])}"
ifres.elapsed.total_seconds()>1:
log.error("接口超时")
returnres.content.decode('utf8')
exceptExceptionase:
log.error(e)
log.error(url)
log.error(datas)
returnf"接口异常:{url}::{datas}::{e}"
以上为创建投放单的处理方法,可将其以py文件保存并部署。
步骤205,在测试用例文件夹testcase下添加测试用例;
步骤206,执行测试用例并生成测试结果。
在本实施例中,用来完成如下测试需求:进行一个投放单的创建,随后验证所述投放单是否投放成功,在测试完成之后根据测试结果信息发送测试报告给用户(优选通过email发送测试报告)。
图3为本发明自动化测试系统实施例二的结构示意图,,如图3所示,基于Django构建的自动化测试Web框架,具体实施步骤包括:
步骤301,用户通过浏览器发送请求;
步骤302,Request中间件接收请求,并做预处理或者直接返回处理结果;
步骤303,URLConf通过请求的url找到对应view模块中方法;
步骤304,view模块调用方法对请求做处理或者返回处理结果;
步骤305,view模块中方法通过model模块+LDAP模块访问数据库;
步骤306,template结合view模块的返回数据渲染输出,呈现给用户。
本实施例中,用来完成测试环境配置输入及测试项目的结果展示。本发明优选实施例以html页面方式进行展现,并通过用户邮箱接收测试报告,在图3的示例中,目前就配置了一个用户信息ming,示例系统默认用户使用的网易对应邮箱,所以ming所代表的是邮箱为ming@163.com的用户,该用户登录时通过LDAP模块做权限校验,有:
deflogin(request):
ifrequest.method=="GET":
returnrender(request,"login.html")
username=request.POST.get("username")
password=request.POST.get("pwd")
user_obj=Ldap().auth(username=username,password=password)ifnotuser_obj:
returnrender(request,'login.html',{'erro':f'用户{username}不存在或密码输入有误'})
else:
user=authenticate(username=username,password="xxxxxx")
ifnotuser:
s=User.objects.create_user(username,f"{username}@163.com","xx xxx")
user=authenticate(username=username,password="123456")
auth_login(request,user)
returnredirect('/smokeInterfaceTest/')#重定向到该目录下
进一步地,包含测试结果的测试报告将通过邮件形式发送到该用户的邮箱中。本发明优选实施例中的反馈方式的配置文件优选以notification.py文件保存并部署。
具体地,在本发明优选实施例的示例中,将上述两个框架涉及方法及配置上传到服务器的指定路径,默认通过命令行pythonmanage.pyrunserverip:port启动该项目,执行该路径下的测试用例。更优选地,该项目每天凌晨定时更新最新的环境代码并执行测试用例。用户只需通过用户邮箱接收测试报告即可知道测试结果。
在上述示例的本发明优选实施例中,通过浏览器输入环境配置及用例配置,并采用页面(html)的方式呈现给用户,这样将使用户使用上更加称手,进一步降低自动化测试的技术门槛。
此外,目前的示例中是以命令行的方式进行项目的启动和执行,在其他优选实施例中也可以将启动和执行功能以图形界面的方式提供,从而使本发明实施例的技术方案更加产品化,操作更便捷,用户体验更好。
更具体地,通过实施例四,详细说明本发明自动化测试系统的实施方案,系统结构如图4所示,与上述方法一一对应地,包括:
步骤401,创建项目project;
步骤402,创建web应用实例mysite;
步骤403,创建接口自动化测试目录结构,包括testcase及api、config等相关目录结构;
步骤404,引入LDAP模块做登录校验;
步骤405,View模块中创建方法对接口自动化中方法进行封装处理;
步骤406,Template模块,创建html页面呈现给用户;
步骤407,Manage模块,启动服务进行部署。
其中,在本发明实施例中,可以设置独立的设备来实现上述自动化测试系统,以自动完成测试用例实现的全过程。所述自动化测试系统分析测试数据生成配置文件,随后自动部署并运行,根据对测试资源的请求和相应的响应结果得到测试报告并自动反馈。
指定处理模块,用于采用指定方式进行所述部署、所述执行和/或所述反馈处理。
本发明实施例中,所述配置文件为py文件,所述测试结果为HTML页面或邮件形式的测试报告,采用指定方式的处理均可在所述配置文件中进行设定。
本发明实施例中的自动化测试系统是相对独立的处理设备,比如集群、服务器、PC或笔记本电脑等;也可以是相对独立的功能单元,比如独立芯片、系统(SystemonChip,SoC)或IP核等,通过处理设备加载后实现相应功能。在实际应用中,上述系统中的各模块均可由位于系统设备中的中央处理器(CentralProcessingUnii^CF1U)、微处理器(MicroProcessorUnit,MPU)、数字信号处理器(DigitalSignalProcessor,DSP)、或现场可编程门阵列(FieIdProgrammabIeGateArray,FPGA)等实现:文件数据(包括但不限于邮件、配置文件、数据资源等)优选通过存储设备进行保存并提供给上述处理设备/单元。
在本发明实施例中提及的术语“系统”可以包括不同级别的程序功能的集合,比如底层操作系统、中间层系统插件、应用层单机和/或网络服务系统等等;“软件”可以包括各种计算设备的应用程序,比如互联网应用、移动应用、PC应用、嵌入式应用、单片机应用等等。
在本发明更优选实施例中,可以形成包含应用自动化测试系统在内的具有完整单机和/或网络服务功能的电子系统。其中,电子系统优选包括诸如客户端或服务器的第一设备,其连接到诸如客户端或服务器的第二设备;第一设备可以通过通信路径(诸如无线或有线网络)与第二设备通信。
在一个示例中,第一设备可以是各种具有一定处理能力的计算设备中的任何一种,诸如PC、笔记本计算机、网络服务器、智能手机、平板设备、智能电视、个人数字助理(PDA)、可穿戴设备、车载计算设备或其它多功能娱乐设备。第一设备可以直接或间接地耦合到通信路径来与第二设备通信,或者可以是独立的设备。但是本领域相关技术人员也应该理解第一设备还可以是不同类型的设备;例如,第一设备也可以是用于辅助提供计算能力的设备,如机顶盒、电视盒子、游戏设备、HUD、智能电话机等等。在这里,上述第一设备和多媒体的列举不应理解为对本发明具体实施方式的穷尽。
第二设备可以是各种集中式或分布式计算设备、文件或数据处理设备中的任何一种。例如,第二设备可以是网络服务器、台式计算机、平板、膝上型计算机、网格计算资源、虚拟化计算机资源、云计算资源、对等分布式计算设备等,或者其组合。在另一个示例中,第二设备可以是用于接收及存储网络数据的任意设备,诸如磁盘阵列、云存储设备、文件共享系统、分布式存储系统等等。第二设备可以集中在单个房间中、分布在不同的房间、分布在不同的地理位置、嵌入在电信网络之内。第二设备可以具有用于与通信路径耦合来与第一设备通信的部件。
通信路径可以是各种网络,如可以包括无线通信、有线通信、光、超声波或其组合,卫星通信、蜂窝通信、蓝牙、红外数据协会标准(IrDA)、无线保真(WiFi)和全球微波接入互联(WiMAX)是可以被包括在通信路径中的无线通信的示例。以太网、数字用户线(DSL)、光纤到户(FTTH)、高清晰度多媒体接口(HDMI)线缆和普通老式电话服务(POTS)是可以包括在通信路径中的有线通信的示例。此外,通信路径可以穿越许多网络拓扑和距离。例如,通信路径可以包括直接连接、个域网(PAN)、局域网(LAN)、城域网(MAN)、宽域网(WAN)或其组合。
在本发明一个实施例中,自动化测试方法或系统可以在上述电子系统的任意设备上执行处理和/或显示包括中间处理过程(比如初始化、分析、接收参数、生成配置文件、部署、运行、反馈、邮件收发等细节)在内的各种数据处理操作。
更进一步地,列举一个对于实现所公开的实施例有用的计算机系统,该计算机系统可以构成上述电子系统或电子系统中的任一设备,其包括一个或多个处理器,并且可以进一步包括电子显示设备(用于显示图形、文本和其它数据),主存储器(例如,随机存取存储器RAM)、存储器件(例如,硬盘驱动器)、可移除存储器件(例如,可移除存储驱动器、可移除存储模块、磁带驱动器、光盘驱动器、在其中存储有计算机软件和/或数据的计算机可读介质),用户接口设备(例如,键盘、触摸屏、键盘、指点设备)以及通信接口(例如,调制解调器、网络接口(诸如以太网卡)、通信端口或PCMCIA插槽和卡)。通信接口允许在计算机系统和外部设备之间传递软件和数据。计算机系统还包括连接内外部器件以实现数据交互的通信基础设施(例如,通信总线、转换接头或网络)。
在一个实施例中,电子系统中的数据内容的有线或无线通信可以包括在下面一个或多个上的通信:以太网、电话(例如,P0TS)、线缆、电力线和光纤系统,和/或包括长期演进(TD-LTESroD-LTE)系统、码分多址(CDMA或CDMA2000)通信系统、频分多址(!7DMA)系统、时分多址(TDMA)系统(诸如GSM/GPRS(通用分组无线电服务)/EDGE(增强的数据GSM环境)、TETRA(地面集群无线电)移动电话系统)、宽带码分多址(W⑶MA)系统、IEEE802.1l系统、正交频分多址(OFDM)系统等中的一个或多个的无线系统。在一个实施例中,输入/输出源可以在无线网络(例如,互联网、局域网(LAN)、宽域网(WAN)、个域网(PAN)、校园无线网(CAN)、城域网(MAN)等)上发送。在一个实施例中,输入/输出源可以来自于基于云的系统、服务器、计算机设备、移动设备等等。
在某些实施例中,在具有多核处理器的对称多处理计算机可构成上述计算机系统;依照某些实施例,核心处理组件可包含流水线(pipeline)处理设备,其通过总线耦合到各个处理器;在一种实施例中,协处理器可通过总线耦合到芯片组核心逻辑及主处理器。在某些实施例中,协处理器或主处理器中之一或多个可使用具有多核的对称多处理来并行计算梯度。存储器可耦合到芯片组核心逻辑,且存储器可例如包含主存储器、硬盘驱动器以及可移动媒介等。
在一种实施例中,实现本发明中的方法的各步骤的计算机指令序列可实现为存储在主存储器的部分中的机器可读指令。另外,在主存储器内还可建立连续缓冲器、寄存器、池、堆栈和队列等形式。但是,在其它示例中,实现上述方法的序列的缓冲与存储也可在主处理器、另一存储器或者在协处理器中实现。
在某些实施例中,实现上述方法的序列可用软件来实现,且在其它实施例中它们可用硬件来实现。在软件实施例中,序列可由对处理器或处理器可执行的指令通过调用存储在计算机可读介质中的指令来实现。计算机可读介质可为任意计算机可读存储介质,包括磁、半导体或者光存储器。
本发明所述的自动化测试技术可用各种硬件结构来实现。备选地,可使用分布式处理器来并行处理作业,比如同时对多个测试用例或同一测试用例的多个配置文件进行处理。作为另一实施例,并行处理功能可用包括多核处理器的通用目的处理器来实现。
经由通信接口传递的信息可以是信号的形式,诸如电、电磁、光或经由通信链路能够被通信接口接收的其它信号,所述通信链路携载信号并且可以使用线或缆、光纤、电话线、蜂窝式电话链路、射频(RF)链路和/或其它通信信道来实现。本发明实施例所描述的计算机程序指令可以被加载在计算机、可编程数据处理系统或处理设备上,使得在其上执行的一系列操作以产生计算机实现的过程。
术语“计算机程序介质”、“计算机可用介质”、“计算机可读介质”和“计算机程序产品”用来一般地指代媒体,诸如主存储器、辅存储器、可移除存储器件、安装在硬盘驱动器中的硬盘和信号。这些计算机程序产品是用于向计算机系统提供软件的部件。计算机可读介质允许计算机系统从计算机可读介质中读取数据、指令、消息或消息包和其它计算机可读信息。例如,计算机可读介质可以包括非易失性存储器,诸如软盘、R0M、闪存、磁盘驱动器存储器、CD-ROM和其它永久性存储系统。例如,它对于在计算机系统之间传输诸如数据和计算机指令的信息是有用的。计算机程序指令可以被存储在计算机可读介质中,计算机可读介质可以指导计算机、其它可编程数据处理系统或其它设备按特定的方式起作用,使得被存储在计算机可读介质中的指令产生包括实施在图1流程图和/或图4框图框中指定的功能/行为的指令的制造品。
此外,计算机可读介质可以将计算机可读信息包括在诸如网络链路和/或网络接口的暂态介质中,包括有线网络或无线网络,其允许计算机读取这样的计算机可读信息。计算机程序(即计算机控制逻辑)被存储在主存储器和/或辅存储器中。计算机程序也可以经由通信接口接收。这样的计算机程序当被运行时使得计算机系统能够执行如在此讨论的特征。具体地,计算机程序当被运行时,使得多核处理器执行计算机系统的特征。这样的计算机程序表示计算机系统的控制器。
本发明实施例的技术方案提供了一种自动化测试方法及系统,通过配置灵活、可读性强且自动化程度高的分析、配置、部署、运行等处理实现了高效灵活的软件/系统的自动化测试。具体地,本发明技术方案采用“一次编写,多次执行”的思路,只需一次配置测试用例即可直接反复执行测试流程,这样在回归测试(指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的测试过程)的时候可大大节省原来手工测试的复杂流程;此外,本发明的技术方案可以在自动化测试框架中使用可读性极强的配置文件来编写测试用例,由于其配置文件格式清晰,书写起来比代码更加简单,大幅降低了自动化测试的实现门槛,减少了用户的学习成本;最后,通过对测试用例的细分和配置,本发明技术方案中的自动化测试框架可实现基础元素的复用,进一步提高了效率并增强了实现测试的灵活性和可扩展性。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的GPON光链路保护倒换方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的GPON光链路保护倒换方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种基于Django框架的带权限校验的自动化测试方法,其特征在于,包括步骤:初始化测试环境;分析测试数据,接收所述测试数据的相关参数,生成配置文件;部署所述配置文件并在指定的时间执行所述配置文件,根据执行的结果自动反馈测试结果。
2.根据权利要求1所述的基于Django框架的带权限校验的自动化测试方法,其中,所述初始化测试环境进一步包括:通过图形化界面(Web页面)配置测试的项目信息、接口、用例及请求参数等信息;接入LDAP模块做登录授权认证;更新所述配置文件的环境属性设定。
3.根据权利要求1所述的基于Django框架的带权限校验的自动化测试方法,其中,所述分析测试数据进一步包括:将所述测试用例的操作全过程细化分解到不可拆分的最小操作元素;按操作顺序将各个所述最小操作元素进行关联;对于每个所述最小操作元素,分别确定其需要接收的参数。
4.根据权利要求1所述的基于Django框架的带权限校验的自动化测试方法,其中,所述生成配置文件进一步包括:根据所述最小操作元素的关联和顺序依次记录各元素信息。
5.根据权利要求1所述的基于Django框架的带权限校验的自动化测试方法,其中,所述方法中的所述部署、所述执行和所述反馈采用默认方式进行或采用指定方式进行。
6.一种基于Django框架的带权限校验的自动化测试系统,其特征在于,包括:初始化模块,用于初始化数据环境;配置模块,用于分析测试数据,接收所述测试用例的相关参数,生成配置文件;测试模块,用于部署所述配置文件并在指定的时间执行所述配置文件,根据执行的结果自动反馈测试结果。
7.根据权利要求6所述的基于Django框架的带权限校验的自动化测试系统,其中,所述初始化模块包括:属性确定模块,用于根据Web页面输入获取本次测试用例确定配置文件的环境属性;授权认证模块,用于针对不同业务做登录授权管理;属性更新模块,用于更新所述配置文件的环境属性设定。
8.根据权利要求6所述的基于Django框架的带权限校验的自动化测试系统,其中,所述配置模块包括:拆分模块,用于将所述测试用例的操作全过程细化分解到不可拆分的最小操作元素;关联模块,用于按操作顺序将各个所述最小操作元素进行关联;参数分析模块,用于对于每个所述最小操作元素,分别确定其需要接收的参数。
9.根据权利要求6所述的基于Django框架的带权限校验的自动化测试系统,其中,所述配置模块还包括:信息记录模块,用于根据所述最小操作元素的关联和顺序依次记录各操作元素信息。
10.根据权利要求6所述的基于Django框架的带权限校验的自动化测试系统,其中,所述测试模块包括:Django框架中的WSGI(Web Server Gateway Interface)模块,用于提供Web服务器和Web应用程序或框架之间的一种简单而通用的接口;Django框架中的view模块,通过Django中的model模块访问数据库中的数据,引入LDAP模块进行权限校验,用于进行所述执行和/或所述反馈处理;Django中的manage模块,用于进行所述部署处理,完成Django中的model模块与数据库的交互。
CN202111122012.8A 2021-09-24 2021-09-24 基于Django带权限校验的自动化测试web化方法及系统 Pending CN113849407A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111122012.8A CN113849407A (zh) 2021-09-24 2021-09-24 基于Django带权限校验的自动化测试web化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111122012.8A CN113849407A (zh) 2021-09-24 2021-09-24 基于Django带权限校验的自动化测试web化方法及系统

Publications (1)

Publication Number Publication Date
CN113849407A true CN113849407A (zh) 2021-12-28

Family

ID=78979156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111122012.8A Pending CN113849407A (zh) 2021-09-24 2021-09-24 基于Django带权限校验的自动化测试web化方法及系统

Country Status (1)

Country Link
CN (1) CN113849407A (zh)

Similar Documents

Publication Publication Date Title
US11836577B2 (en) Reinforcement learning model training through simulation
CN111279320B (zh) 实现微服务配置和管理的api储存库
US11281457B2 (en) Deployment of infrastructure in pipelines
US10409711B2 (en) Automatically running tests against WEB APIs based on specifications
CN110442524B (zh) 一种针对带有认证授权的web服务接口测试方法和装置
US10007509B1 (en) Container handover for device updates
US20200167687A1 (en) Simulation modeling exchange
US11429762B2 (en) Simulation orchestration for training reinforcement learning models
CA2915619C (en) Method and apparatus for customized software development kit (sdk) generation
US20170300402A1 (en) Mock server and extensions for application testing
WO2020106908A1 (en) Reinforcement learning model training through simulation
US11799841B2 (en) Providing intercommunication within a system that uses disparate authentication technologies
US10963370B2 (en) Default mock implementations at a server
CN109815107B (zh) 自动化测试的方法和装置
CN110162994A (zh) 权限控制方法、系统、电子设备及计算机可读存储介质
CN110324185B (zh) 超参数调优方法、装置、服务器、客户端及介质
CN109408247A (zh) 交互数据处理方法及装置
US8782470B2 (en) Generation of test data for web service-based test automation and semi-automated test data categorization
US11243755B1 (en) Resource aware patching service
US20150381550A1 (en) Cloud computing abstraction layer for integrating mobile platforms
JP4696744B2 (ja) プログラムテスト装置、方法、及び、プログラム
CN107562629B (zh) 用于测试的方法及装置
CN113849407A (zh) 基于Django带权限校验的自动化测试web化方法及系统
CN110489326A (zh) 基于ids的httpapi调试方法装置、介质和设备
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination