CN102833120B - 一种快速自动化测试中处理网管服务器异常的方法及*** - Google Patents
一种快速自动化测试中处理网管服务器异常的方法及*** Download PDFInfo
- Publication number
- CN102833120B CN102833120B CN201110158289.6A CN201110158289A CN102833120B CN 102833120 B CN102833120 B CN 102833120B CN 201110158289 A CN201110158289 A CN 201110158289A CN 102833120 B CN102833120 B CN 102833120B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- thread
- dialog box
- configuration
- properties
- 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.)
- Expired - Fee Related
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种快速自动化测试中处理网管服务器异常的方法及***,此方法使用配置线程处理网管服务器的界面管理工作,同时使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述处理线程继续运行。本发明采用两个线程并行并且使用监听线程的方式,及时有效处理异常情况,提高在快速自动化测试中对异常对话框进行处理的智能性。
Description
技术领域
本发明涉及通信技术领域的快速自动化测试(Quick Test Professional ,简称QTP)技术,尤其涉及一种快速自动化测试中处理网管服务器异常的方法及***。
背景技术
快速自动化测试是一种先进的自动化测试解决方案,能自动捕获、验证和重放用户的交互行为,在网管测试中应用广泛。
多线程(Thread)是指在一个进程内多个任务并行的执行方式。同一个进程内的线程之间可以互相创建和撤消,线程之间允许任务协作、数据交换和互相通信。用线程的观点来研究软件对提高软件的并行性有着重要的意义。
在对网管/设备一体化实施自动化测试时,受测试环境影响,以及网管***本身频繁变动等原因,在执行自动化测试时往往存在以下问题:
(1)在工程实施和实验室测试中,网管***的客户端和服务器往往安装在不同的电脑,而且是多个用户同时对一个网管服务器进行操作,在这种情况下,网管服务器的性能可能受运行时间和用户数的影响。自动化测试中如果在一定的时间范围内网管没有响应用户的数据,很可能导致自动化测试操作失败。
(2)自动化测试对网管界面的风格和属性比较敏感,网管的微小的改动都可能导致在配置过程中弹出异常对话框,而该异常对话框往往是不可预见的。如果不对该异常对话框作及时处理,就会导致后面的其他脚本无法执行,从而大大的限制了自动化测试的作用。
(3)目前的网管大多采用敏捷开发模型,敏捷开发的一大特点是拥抱用户需求,而且频繁的构建版本,如果不及时自动的处理在测试中出现的异常,自动化测试就很难在一个迭代周期内发挥作用。
(4)传统的处理异常的方法是在自动化脚本中,每执行一步操作,都要判断是否得到了预期的正确结果,或者是否出现了预期的异常结果,这就要求对可能出现的异常都要做预先判断。例如,每执行一步操作后,均判断是否出现异常对话框,如果未出现则继续后续操作,如果出现则先处理此异常。但是,在实际的测试过程中,很多异常情况是无法预知的。一个脚本中需要编写大量的判断异常的代码,这样不仅效率低,可靠性也得不到保障。
基本上述问题,传统的自动化脚本开发模式有待改进。
发明内容
本发明要解决的技术问题是提供一种快速自动化测试中处理网管服务器异常的方法及***,提高在快速自动化测试中对异常对话框进行处理的智能性。
为了解决上述技术问题,本发明提供了一种快速自动化测试中处理网管服务器异常的方法,包括:使用配置线程处理网管服务器的界面管理工作,同时使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述处理线程继续运行。
进一步地,上述方法还可以具有以下特点:
在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
进一步地,上述方法还可以具有以下特点:
使用所述监听线程查找与所述异常对话框对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。
进一步地,上述方法还可以具有以下特点:
异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
进一步地,上述方法还可以具有以下特点:
在所述存储池中未查找到与所述异常对话框对应的异常对话框属性时,强制关闭所述异常对话框,触发所述处理线程回到初始状态。
为了解决上述技术问题,本发明提供了一种快速自动化测试中处理网管服务器异常的***,包括配置模块和监听模块;所述配置模块,用于使用配置线程处理网管服务器的界面管理工作;所述监听模块,用于使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述处理线程继续运行。
进一步地,上述方法还可以具有以下特点:
还包括存储池模块;所述存储池模块,用于在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;所述监听模块,还用于在使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
进一步地,上述方法还可以具有以下特点:
所述监听模块,还用于在使用所述监听线程查找与此异常对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。
进一步地,上述方法还可以具有以下特点:
异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
进一步地,上述方法还可以具有以下特点:
所述监听模块,还用于在所述存储池中未查找到与此异常对话框对应的异常对话框属性时,强制关闭所述异常对应的异常对话框,触发所述处理线程回到初始状态。
本发明采用两个线程并行并且使用监听线程的方式,及时有效处理异常情况,提高在快速自动化测试中对异常对话框进行处理的智能性。
附图说明
图1是实施例中快速自动化测试中处理网管服务器异常的示意图;
图2是具体实施例中监听进程检测到配置进程产生异常的处理流程图。
具体实施方式
本发明在测试过程中,同时使用配置进程和监听进程这两个线程。
如图1所示,快速自动化测试中处理网管服务器异常的***包括配置模块和监听模块。配置模块控制配置进程,监听模块控制监听进程。
配置模块用于使用配置线程处理网管服务器的界面管理工作。
监听模块用于使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述处理线程继续运行。
本***中还包括存储池模块,存储池模块用于在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;监听模块还用于在使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
监听模块还用于在使用所述监听线程查找与此异常对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
监听模块还用于在所述存储池中未查找到与此异常对话框对应的异常对话框属性时,强制关闭所述异常对应的异常对话框,触发所述处理线程回到初始状态。
快速自动化测试中处理网管服务器异常的方法包括:使用配置线程处理网管服务器的界面管理工作,同时使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述处理线程继续运行。
本方法中,在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
使用所述监听线程查找与所述异常对话框对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
在存储池中未查找到与所述异常对话框对应的异常对话框属性时,强制关闭所述异常对话框,触发所述处理线程回到初始状态。
下面结合具体实施方案对本发明做进一步详细的描述。
创建存储池,将已知的异常对话框以类的形式存储在该存储池中,每个类包含两部分内容:(1)异常对话框的属性。预存异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。(2) 与异常对话框的属性一一对应的解决方案。
配置线程也称为用户界面线程,启动QTP对网管界面进行操作,用来处理用户的输入并响应各种事件和消息。监听线程也称为后台线程,用来时实的检测配置线程I在执行过程中是否出现异常情况。对异常的处理也由监听线程执行。初始情况下配置线程I的优先级高,监听线程II的优先级低。
线程从创建到终止均处于某一个状态。在本发明中,主要用到线程的4种状态:关闭状态(Unstarted)、运行状态(Running)、挂起状态(Suspended)、停止状态(Stopped)。线程刚被创建时,它处于关闭状态(Unstarted)状态。当自动化脚本开始运行后,线程的状态变为运行状态(Running),如果不调用相应的方法使线程挂起、阻塞、销毁、或者终止,则线程一直保持这样运行的状态。处于挂起状态(Suspended)状态的进程直到调用方法使其重新执行,这个时候线程将重新变为运行状态(Running)状态。一旦线程被销毁或者终止,则线程处于停止状态(Stopped),处于这个状态的线程将不复存在。
具体执行过程包括以下步骤:
步骤1,启动一个自动化脚本时,同时启动两个线程:配置线程I和监听线程II,使之处于可运行状态。可运行状态的线程并不能马上运行,需要等待操作***来调度。
步骤2,启动自动化脚本时,配置线程I与监听线程II开始处于运行状态,配置线程I负责网管界面的操作,响应用户输入的数据;监听线程II运行在后台,时实监听异常对话框。配置线程I和监听线程II轮流使用CPU资源。
步骤3,监听线程II实时监听配置线程I在执行的过程中是否发生异常,如果配置线程I未发生异常,则配置线程I与监听线程II在各自的生命周期内没有消息交互,只是监听线程II继续对配置线程I的实时监听,如果配置线程I发生异常,监听线程II检测到异常对话框后,如图2所示,执行步骤4。
步骤4具体包括以下子步骤:
步骤401,监听线程II发送暂停执行消息给配置线程I,此时监听线程II仍处于时实监听状态,配置线程I收到监听线程II发送的暂停执行消息后,停止执行,进入挂起状态,并发送确认消息给监听线程II。
步骤402,监听线程II在收到配置线程I的确认消息后,开始处理该异常对话框。
处理过程具体包括:
(1)、监听线程II获取异常对话框的属性。该属性主要包括:对话框类型、标题、图标、提示信息、按钮。
(2)、按照属性的优先级逐级过滤,如果在存储池中挖掘到与该异常的属性完全一致的异常,则按照该存储池中已定义好的与此异常对话框属性对应的解决方案来处理该异常。
(3)、按照属性的优先级逐级过滤,如果在存储池中没有找到属性完全一致的异常,则强制关闭该异常对话框,并删除在网管上已配置的数据(即在发产生此异常对话框之前配置的数据),使环境恢复到初始状态。并将该异常对话框的属性存储到存储池中用于人工分析。
步骤403,监听线程II处理完该异常后,发送继续执行的消息给配置线程I。
步骤404,配置线程I收到监听线程II发送的继续执行消息后,线程被唤醒,由挂起状态修改为运行状态,重新开始执行,并发送确认消息给监听线程II。
步骤405,监听线程II在收到该确认消息后,重新进入时实监听状态。
综上所述,本发明提供了一种在快速自动化测试中自动智能处理异常的方法,这种方法在一次执行大批量的测试脚本时显得尤其重要。在当前流行的敏捷开发中,用自动化测试保证软件版本的稳定性方面有重要的应用。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
Claims (8)
1.一种快速自动化测试中处理网管服务器异常的方法,其特征在于,
使用配置线程处理网管服务器的界面管理工作,同时使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述配置线程继续运行;
其中,在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;
使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
2.如权利要求1所述的方法,其特征在于,
使用所述监听线程查找与所述异常对话框对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。
3.如权利要求2所述的方法,其特征在于,
异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
4.如权利要求1所述的方法,其特征在于,
在所述存储池中未查找到与所述异常对话框对应的异常对话框属性时,强制关闭所述异常对话框,触发所述配置线程回到初始状态。
5.一种快速自动化测试中处理网管服务器异常的***,其特征在于,
包括配置模块、监听模块和存储池模块;
所述配置模块,用于使用配置线程处理网管服务器的界面管理工作;
所述监听模块,用于使用监听线程对所述配置线程进行实时监测,在监测到所述配置线程中网管服务器的界面管理过程产生异常对话框时,挂起所述配置线程,并在处理所述异常对话框完成后,触发所述配置线程继续运行;
所述存储池模块,用于在存储池中预存异常对话框属性以及与异常对话框属性对应的解决方案;
其中,所述监听模块,还用于在使用所述监听线程处理所述异常对话框时,在所述存储池中查找到此异常对话框的异常对话框属性后,使用与此异常对话框属性对应的解决方案处理此异常对话框。
6.如权利要求5所述的***,其特征在于,
所述监听模块,还用于在使用所述监听线程查找与此异常对应的异常对话框属性时,按照此异常对话框的异常对话框属性的子特征优先级顺序依次查找。
7.如权利要求6所述的***,其特征在于,
异常对话框属性的子特征以优先级从高到低的顺序依次包括:类型、标题、图标、提示信息、按钮。
8.如权利要求5所述的***,其特征在于,
所述监听模块,还用于在所述存储池中未查找到与此异常对话框对应的异常对话框属性时,强制关闭所述异常对应的异常对话框,触发所述配置线程回到初始状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110158289.6A CN102833120B (zh) | 2011-06-14 | 2011-06-14 | 一种快速自动化测试中处理网管服务器异常的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110158289.6A CN102833120B (zh) | 2011-06-14 | 2011-06-14 | 一种快速自动化测试中处理网管服务器异常的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102833120A CN102833120A (zh) | 2012-12-19 |
CN102833120B true CN102833120B (zh) | 2017-06-13 |
Family
ID=47336098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110158289.6A Expired - Fee Related CN102833120B (zh) | 2011-06-14 | 2011-06-14 | 一种快速自动化测试中处理网管服务器异常的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102833120B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657122B (zh) * | 2013-11-21 | 2018-04-10 | 航天信息股份有限公司 | 一种针对Android***中多个提示对话框串行显示的方法和装置 |
CN104123226B (zh) * | 2014-07-30 | 2017-02-08 | 深圳市共进电子股份有限公司 | 自动化测试中弹出窗体的处理方法 |
CN105159545A (zh) * | 2015-09-30 | 2015-12-16 | 北京奇虎科技有限公司 | 一种测试用智能终端上的弹框处理方法和装置 |
CN106028367B (zh) * | 2016-06-23 | 2020-06-02 | 惠州Tcl移动通信有限公司 | 一种基于CMWrun测试平台的自动测试方法及*** |
CN109586989B (zh) * | 2017-09-28 | 2022-09-20 | 阿里巴巴集团控股有限公司 | 一种状态检查方法、装置及集群*** |
CN110795333A (zh) * | 2018-11-07 | 2020-02-14 | 北京安天网络安全技术有限公司 | 一种使程序不间断运行的方法、装置和存储设备 |
CN111897606A (zh) * | 2019-05-06 | 2020-11-06 | 北京奇虎科技有限公司 | 一种弹框的处理方法和装置 |
CN114554532B (zh) * | 2022-03-09 | 2023-07-18 | 武汉烽火技术服务有限公司 | 5g设备高并发仿真方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605987A (zh) * | 2004-11-17 | 2005-04-13 | 中兴通讯股份有限公司 | 一种多线程***中实现实时监控各线程状态的方法 |
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN101639803A (zh) * | 2008-07-30 | 2010-02-03 | 株式会社日立制作所 | 多线程应用***的异常处理方法和异常处理装置 |
CN101923508A (zh) * | 2009-06-12 | 2010-12-22 | 中兴通讯股份有限公司 | 一种嵌入式***中的异常处理方法及装置 |
CN101556545B (zh) * | 2009-05-22 | 2011-04-06 | 北京星网锐捷网络技术有限公司 | 一种实现进程支持的方法、装置和多线程*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
-
2011
- 2011-06-14 CN CN201110158289.6A patent/CN102833120B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605987A (zh) * | 2004-11-17 | 2005-04-13 | 中兴通讯股份有限公司 | 一种多线程***中实现实时监控各线程状态的方法 |
CN101599039A (zh) * | 2008-06-03 | 2009-12-09 | 华为技术有限公司 | 嵌入式c语言环境下异常处理方法及装置 |
CN101639803A (zh) * | 2008-07-30 | 2010-02-03 | 株式会社日立制作所 | 多线程应用***的异常处理方法和异常处理装置 |
CN101556545B (zh) * | 2009-05-22 | 2011-04-06 | 北京星网锐捷网络技术有限公司 | 一种实现进程支持的方法、装置和多线程*** |
CN101923508A (zh) * | 2009-06-12 | 2010-12-22 | 中兴通讯股份有限公司 | 一种嵌入式***中的异常处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102833120A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833120B (zh) | 一种快速自动化测试中处理网管服务器异常的方法及*** | |
CN109495308B (zh) | 一种基于管理信息***的自动化运维*** | |
US8751281B2 (en) | Method for acquiring by a session manager a list of active sessions | |
EP3148116B1 (en) | Information system fault scenario information collection method and system | |
US9104480B2 (en) | Monitoring and managing memory thresholds for application request threads | |
CN110175451A (zh) | 一种基于电力云的安全监控方法和*** | |
JP2015529913A (ja) | 情報バックアップ方法および装置 | |
US20170102988A1 (en) | Event correlation and calculation engine | |
US11604674B2 (en) | Systems and methods for detecting and filtering function calls within processes for malware behavior | |
CN111858176A (zh) | 一种远程监控故障自愈***和方法 | |
CN107807872A (zh) | 一种输变电***运行状态监测方法 | |
CN111930589B (zh) | 流式任务自动化监控***及方法 | |
CN106330599A (zh) | Android应用程序网络流量多线程采集***及方法 | |
CN109901969B (zh) | 一种集中监控管理平台的设计方法及装置 | |
CN106844163A (zh) | 一种数据库主从同步状态监控的方法以及装置 | |
JP2021043592A (ja) | 情報処理システム | |
CN105930226A (zh) | 一种数据处理方法及装置 | |
CN106357757B (zh) | 一种监控***中的被监控装置及监控方法 | |
CN105843675B (zh) | 线程退出方法和装置 | |
CN113485812B (zh) | 基于大数据量任务的分区并行处理方法及*** | |
Kothapalli et al. | Continual monitoring of code quality | |
US20130204921A1 (en) | Diagnostics agents for managed computing solutions hosted in adaptive environments | |
CN113419935A (zh) | 移动端性能监控方法、装置、设备及存储介质 | |
CN105204975A (zh) | 基于JavaEE体系架构的性能监控***及方法 | |
CN103457771B (zh) | 一种ha的虚拟机集群的管理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170613 Termination date: 20210614 |