CN111026667A - 脚本执行方法、装置和电子设备 - Google Patents
脚本执行方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111026667A CN111026667A CN201911262602.3A CN201911262602A CN111026667A CN 111026667 A CN111026667 A CN 111026667A CN 201911262602 A CN201911262602 A CN 201911262602A CN 111026667 A CN111026667 A CN 111026667A
- Authority
- CN
- China
- Prior art keywords
- script
- execution
- executing
- recording
- browser
- 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.)
- Granted
Links
- 238000013515 script Methods 0.000 title claims abstract description 328
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000011068 loading method Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 19
- 238000012360 testing method Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000011669 selenium Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- 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—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种脚本执行方法、装置和电子设备;应用于浏览器,该方法包括:获取第一端对应的第一脚本和第二端对应的第二脚本;执行第一脚本和第二脚本;保存第一脚本的执行结果和第二脚本的执行结果;通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。该方式中,在获取第一端对应的第一脚本和第二端对应的第二脚本后,执行第一脚本和第二脚本,保存第一脚本的执行结果和第二脚本的执行结果,并可以录屏的方式记录第一脚本和第二脚本的执行视频,记录执行第一脚本和第二脚本的起始时间和截止时间。可以记录执行视频,方便查看和回放脚本执行的过程。
Description
技术领域
本发明涉及自动化测试技术领域,尤其是涉及一种脚本执行方法、装置和电子设备。
背景技术
现有的自动化测试方案中,由于业务场景较复杂,一般独立测试不同平台的功能,不实现用户端和客服端的实时交互;在测试的过程中网络或者页面其他元素相互影响会导致控件没加载出来,脚本成功率不高;在空间加载过程中往往需要通过给予更多固定时间5S或者更长来等待整个页面全部加载,再进行下一步操作,等待时间较长;通过截图保存错误的执行结果,并与执行报告通过命名规则实现关联,跟进问题不方便,也不能查看和回放脚本执行过程。
发明内容
有鉴于此,本发明的目的在于提供一种脚本执行方法、装置和电子设备,以记录执行视频,方便查看和回放脚本执行的过程。
第一方面,本发明实施例提供了一种脚本执行方法,应用于浏览器,包括:获取第一端对应的第一脚本和第二端对应的第二脚本;执行第一脚本和第二脚本;保存第一脚本的执行结果和第二脚本的执行结果;通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
在本发明较佳的实施例中,上述执行第一脚本和第二脚本的步骤,包括:为第一端建立第一浏览器句柄,并且为第二端建立第二浏览器句柄;在第一浏览器句柄和第二浏览器句柄之间进行切换,采用第一浏览器句柄执行第一脚本,采用第二浏览器句柄执行第二脚本。
在本发明较佳的实施例中,上述采用第一浏览器句柄执行第一脚本的步骤,包括:采用第一浏览器句柄加载第一脚本对应的控件;按照预设的时间间隔周期性检查第一浏览器中控件对应的页面元素;当检查到控件对应的页面元素时,执行第一脚本。
在本发明较佳的实施例中,上述方法还包括:将第一脚本和第二脚本存入Jenkins服务器的同一文件夹中。
在本发明较佳的实施例中,上述通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间的步骤,包括:当第一脚本开始执行时,记录第一浏览器句柄中第一脚本的执行视频,并记录执行第一脚本的起始时间和截止时间;当第二脚本开始执行时,记录第二浏览器句柄中第二脚本的执行视频,并记录执行第二脚本的起始时间和截止时间;当第一脚本和第二脚本同时开始执行时,记录第一浏览器句柄中第一脚本和第二浏览器句柄中第二脚本的整体执行视频,并记录同时执行第一脚本的起始时间和截止时间,以及执行第二脚本的起始时间和截止时间。
在本发明较佳的实施例中,上述执行结果包括产生错误的起始时间和截止时间;上述方法还包括:基于产生错误的起始时间和截止时间,从执行视频中选择对应的起始时间和截止时间进行回放。
第二方面,本发明实施例还提供一种脚本执行装置,应用于浏览器,包括:脚本获取模块,用于获取第一端对应的第一脚本和第二端对应的第二脚本;脚本执行模块,用于执行第一脚本和第二脚本;行结果保存模块,用于保存第一脚本的执行结果和第二脚本的执行结果;执行视频记录模块,用于通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
在本发明较佳的实施例中,上述脚本执行模块,用于:为第一端建立第一浏览器句柄,并且为第二端建立第二浏览器句柄;在第一浏览器句柄和第二浏览器句柄之间进行切换,采用第一浏览器句柄执行第一脚本,采用第二浏览器句柄执行第二脚本。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的脚本执行方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的脚本执行方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种脚本执行方法、装置和电子设备,在获取第一端对应的第一脚本和第二端对应的第二脚本后,执行第一脚本和第二脚本,保存第一脚本的执行结果和第二脚本的执行结果,并可以录屏的方式记录第一脚本和第二脚本的执行视频,记录执行第一脚本和第二脚本的起始时间和截止时间。可以记录执行视频,方便查看和回放脚本执行的过程。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种现有的自动化测试方法的示意图;
图2为本发明实施例提供的一种脚本执行方法的流程图;
图3为本发明实施例提供的另一种脚本执行方法的流程图;
图4为本发明实施例提供的一种脚本执行方法的示意图;
图5为本发明实施例提供的一种脚本执行装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,UI(User Interface,用户界面)自动化测试从技术层面上来讲,是指通过运行脚本来执行测试用例,从而代替人工对系统的功能进行验证,这是最接近用户使用场景和操作的模式。参见图1所示的一种现有的自动化测试方法的示意图,如图1所示,现有UI自动化测试具有以下特点:1.覆盖手工操作对系统验证,自动化测试用例一般覆盖主要测试场景,并对操作后的结果作出判断,和预期是否一致,以减少手工反复循环的操作。2.可复用性及二次操作简单化,一般建议在比较稳定的系统进行UI自动化测试,以减少用例的更新,提高复用性。3.代码稳健性,脚本语言对控件的操作需要一定程度的稳定性,业内一般通过sleep,implicitly_wait等待控件加载完整,甚至通过给予更多固定时间5S或者更长来等待整个页面全部加载,再进行下一步操作,这样保证前后操作的可实现性。4.问题可追溯性,目前业内更多的是通过引入Excel包或者HTML(HyperText Markup Language,超文本标记语言)的报告模式,写入每个用例对应的验证结果,比较直观,同时校验的时候执行结果为fail(错误)的用例通过截图保存到固定路径,后期去定位BUG(漏洞)出现在哪一个步骤。
现有UI自动化测试普遍采用的Excel或者HTML报告与截图相结合的模式,有以下几个问题:1.因为业务场景较复杂,一般独立测试不同平台的功能,未实现用户端和客服端的实时交互;2.网络或者页面其他元素相互影响导致控件没加载出来,部分控件操作不稳定,使得脚本成功率不高;3.为了避免脚本失败,每个步骤之间设置固定等待时间,一般1-5秒不等,相关联的控件甚至等待8秒保证脚本成功概率,等待时间长,浪费服务器资源,生产环境开销很大;4.测试结果写到Excel且和执行错误时全屏截图是分开的,只通过命名规则实现关联,跟进问题不方便。
基于此,本发明实施例提供的一种脚本执行方法、装置和电子设备,该技术应用于自动化测试的技术领域,尤其可以适用于采用多段交互的测试情况。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种脚本执行方法进行详细介绍。
实施例1
本发明实施例提供一种脚本执行方法,应用于浏览器,参见图2所示的一种脚本执行方法的流程图,该脚本执行方法包括如下步骤:
步骤S202,获取第一端对应的第一脚本和第二端对应的第二脚本。
第一端和第二端是指自动化测试中用来进行交互的两个端口,其中,第一段可以是客户端,第二端可以是客服端。第一段和第二端均可以为电脑、手机、平板电脑等可以相互通信的设备。第一脚本是第一端进行测试使用的脚本,第二脚本是第二端进行测试使用的脚本。一般来说,由第一端执行第一脚本,第二端执行第二脚本,二者要分别在两个设备执行。
步骤S204,执行第一脚本和第二脚本。
分别执行第一脚本和第二脚本,可以为采用第一端执行第一脚本,采用第二端执行第二脚本;还可以为采用同一端一起执行第一脚本和第二脚本。
步骤S206,保存第一脚本的执行结果和第二脚本的执行结果。
当脚本执行完毕后,保存脚本的执行结果。可以将第一脚本的执行结果和第二脚本的执行结果保存为一个文件;也可以将第一脚本的执行结果保存为一个文件,将第二脚本的执行结果保存为另一个文件,最后将这两个文件相关联或者存入一个文件夹中。
步骤S208,通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
可以通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
本发明实施例提供的一种脚本执行方法,在获取第一端对应的第一脚本和第二端对应的第二脚本后,执行第一脚本和第二脚本,保存第一脚本的执行结果和第二脚本的执行结果,并可以录屏的方式记录第一脚本和第二脚本的执行视频,记录执行第一脚本和第二脚本的起始时间和截止时间。可以记录执行视频,方便查看和回放脚本执行的过程。
实施例2
本发明实施例还提供另一种脚本执行方法;该方法在上述实施例方法的基础上实现;该方法重点描述执行第一脚本和第二脚本的具体实现方式。
如图3所示的另一种脚本执行方法的流程图,该脚本执行方法包括如下步骤:
步骤S302,获取第一端对应的第一脚本和第二端对应的第二脚本。
这里以第一端为客户的PC(Personal Computer,个人计算机)端,第二端为客服端为例进行说明。参见图4所示的一种脚本执行方法的示意图,模块1进行测试环境和用例准备,搭建python、selenium、pytest框架,设计UI自动化测试用例即用户操作步骤,完成代码脚本设计。其中,python是一种跨平台的计算机程序设计语言,selenium是一个用于Web应用程序测试的工具,pytest是一个全功能的python测试框架。
模块2执行脚本实现自动化测试过程(模块2的内容根据设计的用例不同而不同)包括:脚本自动执行设计的用例及验证点、脚本自动填写结果,保存运行数据。
在设计第一脚本和第二脚本的过程中,需要实现及时通讯场景,优化等待时间,根据相关性分离流程脚本,远程参数化构建,创新性的加入录屏同步功能,并结合case(时间)起始截止时间形成目录树,让自动化测试结果更加直观,回溯问题更方便。
在完成用例脚本(即第一脚本和第二脚本)设计时,可以采用显式等待方法,具体通过步骤A1-步骤A3执行:
步骤A1,采用第一浏览器句柄加载第一脚本对应的控件。
封装检验加载的方法angular_ready(),总结加载完毕的控件属性并归类,加载完毕即可继续下一步骤。
步骤A2,按照预设的时间间隔周期性检查第一浏览器中控件对应的页面元素。
使用显式等待方法(显式等待即每隔一段时间检查页面元素是否存在,直到超过设置的时间检测不到则抛出异常)self.wait.until(),不稳定控件加载完毕后检查状态实现再继续下一步骤。例如self.wait.until(angular_ready())执行后页面基本元素加载完成,button按钮属性为clickable时再执行点击操作,self.wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'li[ng-click="gotoIM()"]'))).click(),不用每次固定等待3秒,避免未加载完毕导致脚本失败,调整后整个脚本运行时间从原始方案的4分钟,减少到目前的54秒。
步骤A3,当检查到控件对应的页面元素时,执行第一脚本。
当检查到控件对应的页面元素时认为不稳定控件加载完毕,之后再执行第一脚本,可以缩短BUG追踪的时间成本,回放的时间也相应缩短,定位问题更快。
如图4所示,第一脚本和第二脚本存入Jenkins服务器的同一文件夹中。Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。脚本分离可全部或部分构建,自动执行整个测试流程。如需修改脚本,git(git是一个开源的分布式版本控制系统)提交代码合并分支,Jenkins构建;如执行已完成的脚本,通过不同的参数构建脚本流程;回归全部流程,tagname(标签名字)为空即可;回归部分流程,填写该文件名构建即可;根据相关性分离脚本,有问题的流程可以单独构建回归,独立执行;全部过程远程实现,不受本地网络或环境的影响。
步骤S304,为第一端建立第一浏览器句柄,并且为第二端建立第二浏览器句柄。
在一个设备中分别为第一端建立第一浏览器句柄,为第二端建立第二浏览器句柄。句柄是一个系统内部数据结构的调用,也就是说,在浏览器中建立两个句柄,分别是第一浏览器句柄和第二浏览器句柄。设计第一浏览器句柄和第二浏览器句柄,可以实现实时通讯场景,消息交互及时性要求更高。
步骤S306,在第一浏览器句柄和第二浏览器句柄之间进行切换,采用第一浏览器句柄执行第一脚本,采用第二浏览器句柄执行第二脚本。
通过切换不同的脚本,实现在一个设备上执行两个脚本,即第一脚本和第二脚本。如果切换至第一浏览器句柄,就可以在第一浏览器句柄中执行第一脚本;如果切换至第二浏览器句柄,就可以在第二浏览器句柄中执行第二脚本。
该方式中。在获取第一端对应的第一脚本和第二端对应的第二脚本后,分别为第一端和第二端建立第一浏览器句柄和第二浏览器句柄,通过切换第一浏览器句柄和第二浏览器句柄切换第一端和第二端,实现第一端和第二端的交互测试。
可以通过下述步骤切换第一浏览器句柄和第二浏览器句柄:自动化工具seleniumwebdriver打开客服系统,外呼系统window-1,IMwindow0,登录用户系统window1,获取浏览器句柄window_handles,浏览器切换不同的window让用户和客服实现在线交谈,验证自动回复,快捷回复,图片,文字,表情的发送,包含及时通讯的主要方式。
步骤S308,保存第一脚本的执行结果和第二脚本的执行结果。
执行结果包括产生错误的起始时间和截止时间,还可以基于产生错误的起始时间和截止时间,从执行视频中选择对应的起始时间和截止时间进行回放。获取每个用例的VNC_START_NUM开始结束时间。例如,用例test_03call_Callout从第8秒开始,13秒结束,点击该目录树视频从第8秒开始回放,可以精准定位到错误的用例对应的视频时间节点,查看错误的前后相关联的操作,回放界面提供错误堆栈细节信息。
步骤S310,通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
可以通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。如图4所示,采用Linux的VNC(Virtual NetworkConsole,虚拟网络控制台)录屏回放模式,Linux是一套操作系统。
具体来说,可以分别记录第一脚本和第二脚本的执行视频,还可以同时记录第一脚本和第二脚本的执行视频,通过下述步骤执行:当第一脚本开始执行时,记录第一浏览器句柄中第一脚本的执行视频,并记录执行第一脚本的起始时间和截止时间;当第二脚本开始执行时,记录第二浏览器句柄中第二脚本的执行视频,并记录执行第二脚本的起始时间和截止时间;当第一脚本和第二脚本同时开始执行时,记录第一浏览器句柄中第一脚本和第二浏览器句柄中第二脚本的整体执行视频,并记录同时执行第一脚本的起始时间和截止时间,以及执行第二脚本的起始时间和截止时间。
如图4所示,服务器启动VNC录制浏览器全程操作,获取每个用例起始截止时间,生成视频和用例名称对应的带时间节点标签的目录树,包括整个脚本的总时长,起始截止时间、不同流程脚本的时长,起始截止时间、以及每一个用例的时长,起始截止时间。通过报表文件,视频,生成测试用例的回放链接,每个执行的用例都可以快速回放,为验证操作提供事实依据。
本发明实施例提供的上述方法,通过切换浏览器句柄实现多端交互场景;封装检验加载的方法结合显式等待方法,减少回归时间;分离脚本通过参数全部或部分构建,远程执行整个交互测试流程;基于VNC录屏可查看和回放整个测试过程;回放界面提供错误栈细节信息,定位错误用例的时间点。
实施例3
对应于上述方法实施例,本发明实施例提供了一种脚本执行装置,如图5所示的一种脚本执行装置的结构示意图,该脚本执行装置包括:
用于脚本获取模块51,用于获取第一端对应的第一脚本和第二端对应的第二脚本;
脚本执行模块52,用于执行第一脚本和第二脚本;
执行结果保存模块53,用于保存第一脚本的执行结果和第二脚本的执行结果;
执行视频记录模块54,用于通过录屏的方式记录第一脚本和第二脚本的执行视频,并记录执行第一脚本和第二脚本的起始时间和截止时间。
本发明实施例提供的一种脚本执行方法装置,在获取第一端对应的第一脚本和第二端对应的第二脚本后,执行第一脚本和第二脚本,保存第一脚本的执行结果和第二脚本的执行结果,并可以录屏的方式记录第一脚本和第二脚本的执行视频,记录执行第一脚本和第二脚本的起始时间和截止时间。可以记录执行视频,方便查看和回放脚本执行的过程。
在一些实施例中,脚本执行模块,用于为第一端建立第一浏览器句柄,并且为第二端建立第二浏览器句柄;在第一浏览器句柄和第二浏览器句柄之间进行切换,采用第一浏览器句柄执行第一脚本,采用第二浏览器句柄执行第二脚本。
在一些实施例中,脚本执行模块,用于采用第一浏览器句柄加载第一脚本对应的控件;按照预设的时间间隔周期性检查第一浏览器中控件对应的页面元素;当检查到控件对应的页面元素时,执行第一脚本。
在一些实施例中,装置还包括Jenkins服务器保存模块,用于将第一脚本和第二脚本存入Jenkins服务器的同一文件夹中。
在一些实施例中,执行视频记录模块,用于当第一脚本开始执行时,记录第一浏览器句柄中第一脚本的执行视频,并记录执行第一脚本的起始时间和截止时间;当第二脚本开始执行时,记录第二浏览器句柄中第二脚本的执行视频,并记录执行第二脚本的起始时间和截止时间;当第一脚本和第二脚本同时开始执行时,记录第一浏览器句柄中第一脚本和第二浏览器句柄中第二脚本的整体执行视频,并记录同时执行第一脚本的起始时间和截止时间,以及执行第二脚本的起始时间和截止时间。
在一些实施例中,执行结果包括产生错误的起始时间和截止时间;装置还包括错误回放模块,用于基于产生错误的起始时间和截止时间,从执行视频中选择对应的起始时间和截止时间进行回放。
本发明实施例提供的脚本执行装置,与上述实施例提供的脚本执行方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
实施例4
本发明实施例还提供了一种电子设备,用于运行上述脚本执行方法;参见图6所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述脚本执行方法。
进一步地,图6所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述脚本执行方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的脚本执行方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和/或电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种脚本执行方法,其特征在于,应用于浏览器,包括:
获取第一端对应的第一脚本和第二端对应的第二脚本;
执行所述第一脚本和所述第二脚本;
保存所述第一脚本的执行结果和所述第二脚本的执行结果;
通过录屏的方式记录所述第一脚本和所述第二脚本的执行视频,并记录执行所述第一脚本和所述第二脚本的起始时间和截止时间。
2.根据权利要求1所述的方法,其特征在于,执行所述第一脚本和所述第二脚本的步骤,包括:
为所述第一端建立第一浏览器句柄,并且为所述第二端建立第二浏览器句柄;
在所述第一浏览器句柄和所述第二浏览器句柄之间进行切换,采用所述第一浏览器句柄执行所述第一脚本,采用所述第二浏览器句柄执行所述第二脚本。
3.根据权利要求2所述的方法,其特征在于,采用所述第一浏览器句柄执行所述第一脚本的步骤,包括:
采用所述第一浏览器句柄加载所述第一脚本对应的控件;
按照预设的时间间隔周期性检查所述第一浏览器中所述控件对应的页面元素;
当检查到所述控件对应的页面元素时,执行所述第一脚本。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一脚本和所述第二脚本存入Jenkins服务器的同一文件夹中。
5.根据权利要求2所述的方法,其特征在于,通过录屏的方式记录所述第一脚本和所述第二脚本的执行视频,并记录执行所述第一脚本和所述第二脚本的起始时间和截止时间的步骤,包括:
当所述第一脚本开始执行时,记录所述第一浏览器句柄中所述第一脚本的执行视频,并记录执行所述第一脚本的起始时间和截止时间;
当所述第二脚本开始执行时,记录所述第二浏览器句柄中所述第二脚本的执行视频,并记录执行所述第二脚本的起始时间和截止时间;
当所述第一脚本和所述第二脚本同时开始执行时,记录所述第一浏览器句柄中所述第一脚本和所述第二浏览器句柄中所述第二脚本的整体执行视频,并记录同时执行所述第一脚本的起始时间和截止时间,以及执行所述第二脚本的起始时间和截止时间。
6.根据权利要求1所述的方法,其特征在于,所述执行结果包括产生错误的起始时间和截止时间;所述方法还包括:
基于所述产生错误的起始时间和截止时间,从所述执行视频中选择对应的起始时间和截止时间进行回放。
7.一种脚本执行装置,其特征在于,应用于浏览器,包括:
脚本获取模块,用于获取第一端对应的第一脚本和第二端对应的第二脚本;
脚本执行模块,用于执行所述第一脚本和所述第二脚本;
执行结果保存模块,用于保存所述第一脚本的执行结果和所述第二脚本的执行结果;
执行视频记录模块,用于通过录屏的方式记录所述第一脚本和所述第二脚本的执行视频,并记录执行所述第一脚本和所述第二脚本的起始时间和截止时间。
8.根据权利要求7所述的装置,其特征在于,所述脚本执行模块,用于:
为所述第一端建立第一浏览器句柄,并且为所述第二端建立第二浏览器句柄;
在所述第一浏览器句柄和所述第二浏览器句柄之间进行切换,采用所述第一浏览器句柄执行所述第一脚本,采用所述第二浏览器句柄执行所述第二脚本。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的脚本执行方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求1至6任一项所述的脚本执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911262602.3A CN111026667B (zh) | 2019-12-09 | 2019-12-09 | 脚本执行方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911262602.3A CN111026667B (zh) | 2019-12-09 | 2019-12-09 | 脚本执行方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026667A true CN111026667A (zh) | 2020-04-17 |
CN111026667B CN111026667B (zh) | 2023-05-05 |
Family
ID=70205487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911262602.3A Active CN111026667B (zh) | 2019-12-09 | 2019-12-09 | 脚本执行方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026667B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282222A (zh) * | 2021-12-16 | 2022-04-05 | 上海健交科技服务有限责任公司 | 一种可信脚本加载及执行方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555014A (zh) * | 2003-12-26 | 2004-12-15 | 中兴通讯股份有限公司 | 一种人机命令测试方法 |
US20110191676A1 (en) * | 2010-01-29 | 2011-08-04 | Microsoft Corporation | Cross-Browser Interactivity Recording, Playback, and Editing |
US20120311539A1 (en) * | 2011-05-31 | 2012-12-06 | International Business Machines Corporation | Interactive semi-automatic test case maintenance |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
CN103927253A (zh) * | 2013-01-11 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 多浏览器兼容性测试方法及系统 |
CN109144850A (zh) * | 2018-07-23 | 2019-01-04 | 上海携程商务有限公司 | 移动终端的交互通信的测试方法及系统 |
CN109344066A (zh) * | 2018-09-29 | 2019-02-15 | 深圳市奇林软件有限公司 | 一种浏览器页面的测试方法、系统及终端 |
CN109388556A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种测试过程的分析方法及装置 |
CN109446064A (zh) * | 2018-09-18 | 2019-03-08 | 珠海金山网络游戏科技有限公司 | 一种基于浏览器的交互测试方法 |
CN109783379A (zh) * | 2019-01-03 | 2019-05-21 | 广州云测信息技术有限公司 | 脚本执行异常确定方法和装置 |
CN110297759A (zh) * | 2019-05-22 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
-
2019
- 2019-12-09 CN CN201911262602.3A patent/CN111026667B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555014A (zh) * | 2003-12-26 | 2004-12-15 | 中兴通讯股份有限公司 | 一种人机命令测试方法 |
US20110191676A1 (en) * | 2010-01-29 | 2011-08-04 | Microsoft Corporation | Cross-Browser Interactivity Recording, Playback, and Editing |
US20120311539A1 (en) * | 2011-05-31 | 2012-12-06 | International Business Machines Corporation | Interactive semi-automatic test case maintenance |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
CN103927253A (zh) * | 2013-01-11 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 多浏览器兼容性测试方法及系统 |
CN109388556A (zh) * | 2017-08-11 | 2019-02-26 | 航天信息股份有限公司 | 一种测试过程的分析方法及装置 |
CN109144850A (zh) * | 2018-07-23 | 2019-01-04 | 上海携程商务有限公司 | 移动终端的交互通信的测试方法及系统 |
CN109446064A (zh) * | 2018-09-18 | 2019-03-08 | 珠海金山网络游戏科技有限公司 | 一种基于浏览器的交互测试方法 |
CN109344066A (zh) * | 2018-09-29 | 2019-02-15 | 深圳市奇林软件有限公司 | 一种浏览器页面的测试方法、系统及终端 |
CN109783379A (zh) * | 2019-01-03 | 2019-05-21 | 广州云测信息技术有限公司 | 脚本执行异常确定方法和装置 |
CN110297759A (zh) * | 2019-05-22 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
M.B.COHEN等: "Constructing test suites for interaction testing", 《25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING,2003.PROCEEDINGS》 * |
程佩: "基于Selenium WebDriver和Selendroid的自动化测试的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
高培等: "浏览器兼容性自动化测试方法研究", 《福建工程学院学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282222A (zh) * | 2021-12-16 | 2022-04-05 | 上海健交科技服务有限责任公司 | 一种可信脚本加载及执行方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111026667B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104315A (zh) | 一种测试脚本生成方法及装置、计算机可读存储介质 | |
CN111159049B (zh) | 接口自动化测试方法及系统 | |
US9405660B2 (en) | Intermediary for testing content and applications | |
US8515876B2 (en) | Dry-run design time environment | |
US10073761B2 (en) | Legacy system | |
CN110554962A (zh) | 回归测试的流程覆盖方法、服务器及计算机可读存储介质 | |
CN111522749A (zh) | 页面测试方法、装置、可读存储介质及电子设备 | |
CN112882930B (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
CN109657475A (zh) | 代码漏洞排查方法、装置、设备及存储介质 | |
CN114546881A (zh) | 应用软件测试方法、电子设备和计算机可读存储介质 | |
CN111026667B (zh) | 脚本执行方法、装置和电子设备 | |
CN113064816B (zh) | 一种可编程逻辑器件软件的测试装置及测试方法 | |
CN111078529B (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN115514677B (zh) | 服务器拨测方法及系统 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN110704262A (zh) | 动态业务逻辑调试方法、系统、存储介质及智能设备 | |
CN114584760B (zh) | 一种媒资拨测方法及相关设备 | |
CN113961469A (zh) | 脚本在线调试方法、系统及存储介质 | |
CN114500348A (zh) | 一种cdn网关测试方法及系统 | |
CN114297055A (zh) | 一种基于智能学习的WebUI自动化测试方法 | |
CN113434417B (zh) | 漏洞的回归测试方法及装置、存储介质、电子装置 | |
CN106997291A (zh) | 一种控制方法及主节点、从节点 | |
CN110109833A (zh) | 基于ui界面的自动化测试用例获取方法及设备 | |
CN114741307B (zh) | 用例执行方法、装置、电子设备及存储介质 | |
CN119149418A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |