CN117539790A - 一种基于Python的自动化测试框架系统及方法 - Google Patents
一种基于Python的自动化测试框架系统及方法 Download PDFInfo
- Publication number
- CN117539790A CN117539790A CN202311663546.0A CN202311663546A CN117539790A CN 117539790 A CN117539790 A CN 117539790A CN 202311663546 A CN202311663546 A CN 202311663546A CN 117539790 A CN117539790 A CN 117539790A
- Authority
- CN
- China
- Prior art keywords
- layer
- test
- data
- execution
- report
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 369
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000013515 script Methods 0.000 claims abstract description 67
- 238000012423 maintenance Methods 0.000 claims abstract description 48
- 230000009471 action Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 12
- 238000010998 test method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000011076 safety test Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例涉及测试验证技术领域,公开了一种基于Python的自动化测试框架系统和方法,所述方法包括:通过数据层生成测试数据,利用控制层根据所述测试数据生成测试脚本,利用执行层执行所述测试脚本实现对测试对象的测试,利用分析层对测试执行数据进行分析,得到测试结果,利用报告层根据测试结果生成测试报告,利用维护层进行故障定位和维护,本申请根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,实现了对测试用例的隔离,提升了自动化测试效率,降低对实际测试人员编程技能的要求,满足实际使用的需要。
Description
技术领域
本发明实施例涉及测试验证技术领域,特别涉及一种基于Python的自动化测试框架系统及方法。
背景技术
随着互联网行业的高速发展,各类软件不断涌现,为我们日常生活提供便捷。市场对软件周期的要求也越来越高,软件改动后的测试包括大量重复、繁琐的步骤,占用了大量的时间以及人力资源,由此衍生出了自动化测试。自动化测试能够最大限度的节省资源达到事半功倍的效果。
发明人发现,当前大多数自动化测试系统都基于开源测试框架unittest或pytest开发,每次软件更新时都需要花费大量时间去修改测试用例,维护测试脚本,代码量大且繁琐,测试人员需对测试脚本执行逻辑有较深的了解,不易于新人对测试脚本进行修改。
发明内容
本发明实施方式的目的在于提供一种基于Python的自动化测试框架系统和方法,其目的在于降低对实际测试人员编程技能的要求,提升自动化测试效率,满足实际使用的需要。
为解决上述技术问题,本发明的实施方式提供了一种基于Python的自动化测试框架系统,基于Python的自动化测试框架系统包括:通讯连接的数据层、控制层、执行层、分析层、报告层、维护层;其中,所述数据层用于生成测试数据并将测试数据发送到控制层;所述控制层用于根据所述数据层返回的测试数据,生成测试脚本;所述执行层用于调用并执行所述控制层生成的测试脚本,并将测试执行数据发送到分析层;所述分析层用于对测试执行数据进行分析,得到测试结果,并将测试结果发送到报告层;所述报告层用于根据测试结果生成测试报告;所述维护层用于对数据层、控制层、执行层、分析层、报告层进行故障定位及维护。
为解决上述技术问题,本申请实施例还提供了一种基于Python的自动化测试方法,所述方法应用于所述基于Python的自动化测试框架系统,包括:利用数据层生成测试对象的测试数据,及利用控制层根据所述测试数据生成测试脚本;利用执行层执行所述测试脚本,得到测试执行数据,并将所述测试执行数据发送到所述分析层;利用分析层对所述测试执行数据进行分析得到测试结果,及利用报告层将所述测试结果转换为测试报告;当数据层、控制层、执行层、分析层或报告层任一层发生故障时,利用维护层进行故障定位。
本申请实施例提供的基于Python的自动化测试框架系统及方法,通过数据层生成测试数据,利用控制层根据所述测试数据生成测试脚本,利用执行层执行所述测试脚本实现对测试对象的测试,利用分析层对测试执行数据进行分析得到测试结果,利用报告层根据测试结果生成测试报告,利用维护层进行故障定位和维护,相较于常规的自动化测试框架主要是根据测试用例编写测试脚本,测试代码开发工作量大,本申请根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,实现对了对测试用例的隔离,提升了自动化测试效率,降低对实际测试人员编程技能的要求,满足实际使用的需要。
另外,所述数据层通过下述方法生成测试数据,包括:获取测试对象的软件数据,并从所述软件数据中提取测试参数、测试场景及测试动作;对所述测试参数、测试场景及测试动作进行数据格式化处理;将数据格式化处理后测试参数、测试场景及测试动作存储为测试文件,得到所述测试数据。
另外,所述控制层通过下述方法生成测试脚本:将测试数据编排为数据字典,根据所述数据字典生成测试脚本。
另外,所述执行层通过下述方法调用并执行所述控制层生成的测试脚本:利用执行脚本调用所述测试脚本对应的软件接口;将所述软件接口的返回值及日志存储到日志数据字典中,将所述日志数据字典作为所述测试执行数据。
另外,所述分析层通过下述方法生成测试结果:利用分析脚本对所述日志数据字典进行检测,并将检测后的日志数据字典进行格式化处理,得到测试结果。
另外,所述报告层通过下述方法生成测试报告:根据预设测试报告模板将所述测试结果转换为测试报告。
另外,所述维护层通过下述方法对数据层、控制层、执行层、分析层及报告层进行维护:对数据层、控制层、执行层、分析层及报告层中所有的类进行实例化;对控制层的测试脚本添加单元测试方法。
另外,所述系统还包括UI层,所述UI层分别与数据层、控制层、执行层、分析层、报告层及维护层通讯连接,所述UI层用于对数据层、控制层、执行层、分析层、报告层及维护层进行封装,生成测试操作界面。
另外,所述UI层通过下述方法对数据层、控制层、执行层、分析层、报告层及维护层进行封装:从测试操作需求中提取数据层、控制层、执行层、分析层、报告层及维护层对应的关键控制部件;利用QT技术对所述关键控制部件进行封装,得到测试操作界面。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的一实施例提供的基于Python的自动化测试框架系统的结构示意图;
图2是本发明的一实施例提供的基于Python的自动化测试框架系统的数据流向示意图;
图3是本发明的一实施例提供的基于Python的自动化测试方法的流程图。
具体实施方式
由背景技术可知,由于基于开源测试框架unittest或pytest的自动化测试系统,每次软件更新时都需要花费大量时间去修改测试用例,维护测试脚本,代码量大且繁琐,测试人员需对测试脚本执行逻辑有较深的了解,不易于新人对测试脚本进行修改。
为解决上述问题,本发明实施例通过数据层生成测试数据,利用控制层根据所述测试数据生成测试脚本,利用执行层执行所述测试脚本实现对测试对象的测试,利用分析层对测试执行数据进行分析得到测试结果,利用报告层根据测试结果生成测试报告,利用维护层进行故障定位和维护,相较于常规的自动化测试框架主要是根据测试用例编写测试脚本,测试代码开发工作量大,本申请根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,实现对了对测试用例的隔离,提升了自动化测试效率,降低对实际测试人员编程技能的要求,满足实际使用的需要。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本申请一实施例涉及一种基于Python的自动化测试框架系统1,如图1所示,具体包括:通讯连接的数据层01、控制层02、执行层03、分析层04、报告层05、维护层06及UI层07;具体地,数据层01与控制层02通讯连接,控制层02与执行层03通讯连接,执行层03与分析层04通讯连接,分析层04与报告层05通讯连接,维护层06分别与数据层01、控制层02、执行层03、分析层04及报告层05通讯连接,UI层07分别与数据层01、控制层02、执行层03、分析层04、报告层05及维护层06通讯连接。
本实施例中,以风电电站的软件测试为例,说明所述基于Python的自动化测试框架系统中各个构成部分的作用及每部分之间的相互作用关系。
本实施例中,数据层01用于生成测试数据并将测试数据发送到控制层02(如图2所示),其中,所述测试数据包括但不限于测试场景、测试参数及测试动作。所述测试场景是指测试的目标工况、目标功能等,例如,风电电站安全测试场景、风电电站通信测试场景或风电电站可靠性测试场景。所述测试参数是指测试发生的具体条件信息,例如,在风电电站性能测试场景下,所述测试参数可以是风电电站运转的额定功率、风载负荷、气象条件、启动时间及停机时间等。所述测试动作是指执行测试时所采取的具体操作或步骤,例如,加载或调用某一个接口、登录或注册某一目标系统。
在一个例子中,数据层01获取测试对象的软件数据,并从所述软件数据中提取测试参数、测试场景及测试动作。所述测试对象可以是风电电站,所述软件数据包括但不限于风电电站的规格信息、拓扑结构信息、运转信息及测试需求信息等。本发明一实施例可通过接口自动化,从所述测试对象中采集软件数据,或通过UI自动化,从所述测试对象中采集软件数据。进一步,数据层01对所述测试参数、测试场景及测试动作进行数据格式化处理。例如,利用Python中的openpyxl定义所述测试参数、测试场景及测试动作的数据格式,保障了同类型数据的数据格式的统一。此外,所述数据层01将数据格式化处理后测试参数、测试场景及测试动作存储为测试文件,得到所述测试数据。将测试参数、测试场景及测试动作存储为测试文件的目的在于,便于测试数据的集中管理及批量发送给下游的控制层02。
本实施例中,控制层02用于根据数据层01返回的测试数据,生成测试脚本,并将测试脚本发送到执行层(如图2所示)。
在一个例子中,控制层02通过将测试数据编排为数据字典,根据所述数据字典生成测试脚本。在软件测试中,通常可利用数据字典生成测试脚本,所述数据字典是描述测试数据的数据元素、数据结构、数据流和数据关系的文档。具体地,根据所述数据字典中的内容,识别出与测试对象的业务逻辑相关的关键数据元素,再基于数据字典中的数据元素和业务逻辑,确定需要进行测试场景,继而根据数据字典中的数据元素和测试场景,编写相应的测试脚本。
本实施例中,执行层03用于调用并执行控制层02生成的测试脚本,并将测试执行数据发送到分析层04,分析层04用于对测试执行数据进行分析,得到测试结果,并将测试结果发送到报告层05(如图2所示),报告层05用于根据测试结果生成测试报告。
在一个例子中,执行层03利用执行脚本调用所述测试脚本对应的软件接口,将所述软件接口的返回值及日志存储到日志数据字典中,将所述日志数据字典作为所述测试执行数据。分析层04利用分析脚本对所述日志数据字典进行检测,并将检测后的日志数据字典进行格式化处理,得到测试结果。报告层05根据预设测试报告模板将所述测试结果转换为测试报告。
本实施例中,维护层06用于对数据层01、控制层02、执行层03、分析层04、报告层05进行故障定位及维护。
在一个例子中,当所述自动化测试框架系统出现异常时,维护层06会根据错误日志,快读定位自动化测试脚本异常并进行维护。
在一个例子中,为提升所述自动化测试框架系统故障定位的效率,维护层06通过对数据层01、控制层02、执行层03、分析层04及报告层05中所有的类进行实例化,对控制层02的测试脚本添加单元测试方法,对数据层01、控制层02、执行层03、分析层04及报告层05进行维护。
示例性地,维护层06利用Python中的引用文件pack.py,对所述自动化测试框架系统1中的所有类统一进行实例化,可提高所述自动化测试框架系统代码的模块化、可维护性。维护层06利用Python中的测试文件TestAPI.py,对控制层02的测试脚本添加单元测试方法,通过单元测试方法发现的缺陷或故障更容易定位,易于修复。
本实施例中,UI层07用于对数据层01、控制层02、执行层03、分析层04、报告层05及维护层06进行封装,生成测试操作界面。
在一个例子中,UI层07基于QT技术,对所述自动化测试框架系统1的各层进行封装,提升所述自动化测试框架系统的易用性。
示例性地,UI层07从测试操作需求中提取数据层01、控制层02、执行层03、分析层04、报告层05及维护层06对应的关键控制部件,利用QT技术对所述关键控制部件进行封装,得到测试操作界面。其中,所述测试操作需求可根据实际测试需要预先定义,例如,展示所述自动化测试框架系统中各层的基本操作界面。所述关键控制部件是指UI层07在对各层进行封装时,其他每层需要在UI界面上呈现的关键操作按钮或控件,例如,数据层01对应的关键控制部件可以是获取测试数据按钮、生成测试数据按钮,执行层03对应的关键控制部件可以是执行测试按钮。
本申请实施例提供的基于Python的自动化测试框架系统,通过数据层生成测试数据,再利用控制层根据所述测试数据生成测试脚本,利用执行层执行所述测试脚本实现对测试对象的测试,而常规的自动化测试框架主要是根据测试用例编写测试脚本,测试代码开发工作量大,本申请实现对了对测试用例的隔离,根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,提升了自动化测试效率,降低对实际测试人员编程技能的要求。同时,利用分析层对测试执行数据进行分析,利用报告层生成测试报告,利用维护层进行故障定位和维护,能够为测试人员提供测试分析、维护提供辅助,以及利用UI层提供测试操作界面,可以提升测试框架系统的使用的友好性,满足实际使用的需要。
本申请实施例还提供一种基于Python的自动化测试方法,包括:利用数据层生成测试对象的测试数据,及利用控制层根据所述测试数据生成测试脚本;利用所述执行层执行所述测试脚本,得到测试执行数据,并将所述测试执行数据发送到所述分析层;利用所述分析层对所述测试执行数据进行分析得到测试结果,及利用所述报告层将所述测试结果转换为测试报告。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
下面对本实施例中的基于Python的自动化测试方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。具体流程如图3所示,可包括如下步骤:
步骤301、利用数据层01生成测试对象的测试数据,及利用控制层02根据所述测试数据生成测试脚本。
在一个例子中,所述测试对象可以是风电电站,所述测试数据包括但不限于测试场景、测试参数及测试动作,所述测试场景是指测试的目标工况、目标功能等,例如,风电电站安全测试场景、风电电站通信测试场景或风电电站可靠性测试场景。所述测试参数是指测试发生的具体条件信息,例如,在风电电站性能测试场景下,所述测试参数可以是风电电站运转的额定功率、风载负荷、气象条件、启动时间及停机时间等。所述测试动作是指执行测试时所采取的具体操作或步骤,例如,加载或调用某一个接口、登录或注册某一目标系统。
具体地,数据层01利用接口自动化或UI自动化,从测试对象中采集软件数据,并从所述软件数据中提取测试参数、测试场景及测试动作,利用Python中的openpyxl对所述测试参数、测试场景及测试动作进行数据格式化处理及将数据格式化处理后测试参数、测试场景及测试动作存储为测试文件,得到所述测试数据。
在一个特定的例子中,控制层02通过将测试数据编排为数据字典,根据所述数据字典生成测试脚本。
本实施例中,相较于常规的自动化测试框架主要是根据测试用例编写测试脚本,测试代码开发工作量大,本申请实现对了对测试用例的隔离,根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,提升了自动化测试效率,降低对实际测试人员编程技能的要求。
步骤302、判断数据层01或控制层02是否发生故障,当数据层01及控制层02都没有发生故障,则执行步骤303、利用所述执行层03执行所述测试脚本,得到测试执行数据,并将所述测试执行数据发送到所述分析层04,及利用所述分析层04对所述测试执行数据进行分析得到测试结果,及利用所述报告层05将所述测试结果转换为测试报告。当数据层01或控制层02发生故障时,执行步骤305利用维护层06进行故障定位。
在一个例子中,执行层03利用执行脚本调用所述测试脚本对应的软件接口,将所述软件接口的返回值及日志存储到日志数据字典中,将所述日志数据字典作为所述测试执行数据。分析层04利用分析脚本对所述日志数据字典进行检测,并将检测后的日志数据字典进行格式化处理,得到测试结果。报告层05根据预设测试报告模板将所述测试结果转换为测试报告。
步骤304判断执行层03、分析层04或报告层05是否发生故障,当执行层03、分析层04或报告层05发生故障时,执行步骤305利用维护层06进行故障定位。当执行层03、分析层04及报告层05都没有发生故障时,则执行步骤306退出测试。
在一个例子中,为提升所述自动化测试框架系统故障定位的效率,维护层06通过对数据层01、控制层02、执行层03、分析层04及报告层05中所有的类进行实例化,对控制层02的测试脚本添加单元测试方法,对数据层01、控制层02、执行层03、分析层04及报告层05进行维护。
示例性地,维护层06利用Python中的引用文件pack.py,对所述自动化测试框架系统中的所有类统一进行实例化,可提高所述自动化测试框架系统代码的模块化、可维护性。维护层06利用Python中的测试文件TestAPI.py,对控制层02的测试脚本添加单元测试方法,通过单元测试方法发现的缺陷或故障更容易定位,易于修复。
本申请实施例提供的基于Python的自动化测试方法,通过数据层生成测试数据,利用控制层根据所述测试数据生成测试脚本,利用执行层执行所述测试脚本实现对测试对象的测试,利用分析层对测试执行数据进行分析得到测试结果,利用报告层根据测试结果生成测试报告,利用维护层进行故障定位和维护,相较于常规的自动化测试框架主要是根据测试用例编写测试脚本,测试代码开发工作量大,本申请根据测试数据生成测试脚本,每次只需要根据实际测试需求变更测试数据,即可实现对测试脚本的修改和维护,实现对了对测试用例的隔离,提升了自动化测试效率,降低对实际测试人员编程技能的要求,满足实际使用的需要。
不难发现,本实施方式为与基于Python的自动化测试系统实施例相对应的方法实施例,本实施方式可与上述实施例互相配合实施。上述实施例提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施例中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
值得一提的是,本申请上述实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施方式中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例是提供给本领域普通技术人员来实现和使用本申请的,本领域普通技术人员可以在脱离本申请的发明思想的情况下,对上述实施例做出种种修改或变化,因而本申请的保护范围并不被上述实施例所限,而应该符合权利要求书所提到的创新性特征的最大范围。
Claims (10)
1.一种基于Python的自动化测试框架系统,其特征在于,所述系统包括:通讯连接的数据层、控制层、执行层、分析层、报告层、维护层;
其中,所述数据层用于生成测试数据并将测试数据发送到控制层;所述控制层用于根据所述数据层返回的测试数据,生成测试脚本;所述执行层用于调用并执行所述控制层生成的测试脚本,并将测试执行数据发送到分析层;所述分析层用于对测试执行数据进行分析,得到测试结果,并将测试结果发送到报告层;所述报告层用于根据测试结果生成测试报告;所述维护层用于对数据层、控制层、执行层、分析层、报告层进行故障定位及维护。
2.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述数据层通过下述方法生成测试数据,包括:
获取测试对象的软件数据,并从所述软件数据中提取测试参数、测试场景及测试动作;
对所述测试参数、测试场景及测试动作进行数据格式化处理;
将数据格式化处理后测试参数、测试场景及测试动作存储为测试文件,得到所述测试数据。
3.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述控制层通过下述方法生成测试脚本:
将测试数据编排为数据字典,根据所述数据字典生成测试脚本。
4.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述执行层通过下述方法调用并执行所述控制层生成的测试脚本:
利用执行脚本调用所述测试脚本对应的软件接口;
将所述软件接口的返回值及日志存储到日志数据字典中,将所述日志数据字典作为所述测试执行数据。
5.根据权利要求4所述的基于Python的自动化测试框架系统,其特征在于,所述分析层通过下述方法生成测试结果:
利用分析脚本对所述日志数据字典进行检测,并将检测后的日志数据字典进行格式化处理,得到测试结果。
6.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述报告层通过下述方法生成测试报告:
根据预设测试报告模板将所述测试结果转换为测试报告。
7.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述维护层通过下述方法对数据层、控制层、执行层、分析层及报告层进行维护:
对数据层、控制层、执行层、分析层及报告层中所有的类进行实例化;
对控制层的测试脚本添加单元测试方法。
8.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述系统还包括UI层,所述UI层分别与数据层、控制层、执行层、分析层、报告层及维护层通讯连接,所述UI层用于对数据层、控制层、执行层、分析层、报告层及维护层进行封装,生成测试操作界面。
9.根据权利要求1所述的基于Python的自动化测试框架系统,其特征在于,所述UI层通过下述方法对数据层、控制层、执行层、分析层、报告层及维护层进行封装:
从测试操作需求中提取数据层、控制层、执行层、分析层、报告层及维护层对应的关键控制部件;
利用QT技术对所述关键控制部件进行封装,得到测试操作界面。
10.一种基于Python的自动化测试方法,其特征在于,所述方法应用于如权利要求1-9中任一项所述的基于Python的自动化测试框架系统,包括:
利用数据层生成测试对象的测试数据,及利用控制层根据所述测试数据生成测试脚本;
利用执行层执行所述测试脚本,得到测试执行数据,并将所述测试执行数据发送到所述分析层;
利用分析层对所述测试执行数据进行分析得到测试结果,及利用报告层将所述测试结果转换为测试报告;
当数据层、控制层、执行层、分析层或报告层任一层发生故障时,利用维护层进行故障定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311663546.0A CN117539790A (zh) | 2023-12-05 | 2023-12-05 | 一种基于Python的自动化测试框架系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311663546.0A CN117539790A (zh) | 2023-12-05 | 2023-12-05 | 一种基于Python的自动化测试框架系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117539790A true CN117539790A (zh) | 2024-02-09 |
Family
ID=89789856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311663546.0A Pending CN117539790A (zh) | 2023-12-05 | 2023-12-05 | 一种基于Python的自动化测试框架系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539790A (zh) |
-
2023
- 2023-12-05 CN CN202311663546.0A patent/CN117539790A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3798846B1 (en) | Operation and maintenance system and method | |
CN103150249B (zh) | 一种自动化测试的方法和系统 | |
CN104820640A (zh) | 一种网页测试方法和装置 | |
CN110568284B (zh) | 智能变电站一键顺控自动测试验证方法、装置及系统 | |
CN112804093B (zh) | 一种基于故障能力中心的集中调度支撑方法和系统 | |
CN113704046B (zh) | 一种故障告警处理方法及装置、设备、存储介质 | |
CN115396352A (zh) | Cms服务器端协议测试方法、系统、设备及存储介质 | |
CN112860587B (zh) | Ui自动测试方法和装置 | |
CN113591461A (zh) | 一种协议一致性测试方法、系统、存储介质及计算设备 | |
CN116107794B (zh) | 一种舰船软件故障自动诊断方法、系统及存储介质 | |
CN117539790A (zh) | 一种基于Python的自动化测试框架系统及方法 | |
CN116383061A (zh) | 变电站站控系统基础平台接口测试方法及相关装置 | |
CN116541198A (zh) | 容器修复方法、装置、计算机存储介质及电子设备 | |
CN111694752B (zh) | 应用测试方法、电子设备及存储介质 | |
CN112836460A (zh) | Pcb工程设计规格控制系统及其方法 | |
CN111966589A (zh) | 基于功能测试的bug处理方法、装置和设备 | |
CN114116466B (zh) | 一种基于操作日志的单元测试方法、装置及介质 | |
CN112579377B (zh) | 用于pos机性能监控的测试方法及存储介质 | |
CN112199259B (zh) | 一种基于规则引擎的故障判定与实现方法和系统 | |
CN115208787A (zh) | 一种交换机自动化测试方法及系统 | |
CN117311736A (zh) | 一种基于aigc的自动化部署方法及系统 | |
CN112579457B (zh) | 基于人工智能的数据架构管控方法及系统 | |
CN109348496B (zh) | 一种实验室基站故障模拟仿真系统和方法 | |
Gong et al. | Analysis of Automatic Software Interface Test Framework based on Power Cloud | |
CN115794624A (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 |