CN109299001A - 一种编程平台下的表单的自动化测试方法及电子设备 - Google Patents
一种编程平台下的表单的自动化测试方法及电子设备 Download PDFInfo
- Publication number
- CN109299001A CN109299001A CN201810962821.1A CN201810962821A CN109299001A CN 109299001 A CN109299001 A CN 109299001A CN 201810962821 A CN201810962821 A CN 201810962821A CN 109299001 A CN109299001 A CN 109299001A
- Authority
- CN
- China
- Prior art keywords
- list
- type
- test configurations
- log
- movement
- 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
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
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
本发明公开一种编程平台下的表单的自动化测试方法及电子设备,其中,方法包括步骤:利用puppeterr创建浏览器实例;利用浏览器加载表单数据,并在加载完成后进行截图作为日志;依次遍历表单内的元素,获取表单内的元素类型;获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;最后关闭浏览器实例。本发明可减少测试人员的测试时间,让测试人员能够快速且高效的完成后台系统中表单项的测试;开发人员也可以利用脚本进行自测,减少交付给测试的程序bug数量。
Description
技术领域
本发明涉及表单自动化测试领域,尤其涉及一种编程平台下的表单的自动化测试方法及电子设备。
背景技术
表单用于收集不同类型的用户输入。表单是一个包含表单元素的区域,表单元素时允许用户在表单(比如文本域、下拉列表、单选框、复选框等等)中输入信息的元素。表单使用表单标签(<form>)定义。
HTML5拥有多个新的表单输入类型,这些新特性提供了更好的输入控制和验证。例如,email类型用于应该包含e-mail地址的输入域,url类型用于应该包含URL地址的输入域,number类型用于应该包含数值的输入域等等。
测试人员在后台管理系统需要增加或编辑表单,在测试过程中,测试人员需要手动填写许多表单项才能进行一次测试。一旦一次表单操作失败,又需要重新输入。并且表单项的测试过程非常耗时,效率较低。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种编程平台下的表单的自动化测试方法及电子设备,旨在解决现有技术中表单测试耗时、效率低等问题。
本发明的技术方案如下:
一种编程平台下的表单的自动化测试方法,其中,包括步骤:
利用puppeterr创建浏览器实例;
利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
依次遍历表单内的元素,获取表单内的元素类型;
获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
最后关闭浏览器实例。
所述的编程平台下的表单的自动化测试方法,其中,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
所述的编程平台下的表单的自动化测试方法,其中,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。
所述的编程平台下的表单的自动化测试方法,其中,根据输入类型对应的测试配置值以及选择类型对应的测试配置值,创建测试配置表。
所述的编程平台下的表单的自动化测试方法,其中,保存每一次截图得到的日志。
一种电子设备,其中,包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
利用puppeterr创建浏览器实例;
利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
依次遍历表单内的元素,获取表单内的元素类型;
获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
最后关闭浏览器实例。
所述的电子设备,其中,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
所述的电子设备,其中,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。
所述的电子设备,其中,根据输入类型对应的测试配置值以及选择类型对应的测试配置值,创建测试配置表。
一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的编程平台下的表单的自动化测试方法。
一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的编程平台下的表单的自动化测试方法。
有益效果:本发明可减少测试人员的测试时间,让测试人员能够快速且高效的完成后台系统中表单项的测试;开发人员也可以利用脚本进行自测,减少交付给测试的程序bug数量。
附图说明
图1为本发明一种编程平台下的表单的自动化测试方法较佳实施例的流程图。
图2为本发明一种电子设备较佳实施例的结构框图。
具体实施方式
本发明提供一种编程平台下的表单的自动化测试方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种编程平台下的表单的自动化测试方法较佳实施例的流程图,如图所示,其包括步骤:
S1、利用puppeterr创建浏览器实例;
S2、利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
S3、依次遍历表单内的元素,获取表单内的元素类型;
S4、获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
S5、调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
S6、调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
S7、最后关闭浏览器实例。
本发明可减少测试人员的测试时间,让测试人员能够快速且高效的完成后台系统中表单项的测试;开发人员也可以利用脚本进行自测,减少交付给测试的程序bug数量。
在所述步骤S1中,利用puppeterr创建浏览器实例。
Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UITest或者作为爬虫访问页面来收集数据。
Puppeteer安装时自带一个最新版本的Chromium,可以通过设置环境变量或者npmconfig中的PUPPETEER_SKIP_CHROMIUM_DOWNLOAD跳过下载。如果不下载的话,启动时可以通过puppeteer.launch([options])配置项中的executablePath指定Chromium的位置。
Puppeteer类似其他框架,通过创建浏览器实例,并操作浏览器作出相应的反应。
具体通过puppeteer的launch(启动)方法生成了一个浏览器的实例,对应于浏览器,launch方法可以传入配置项,例如在本地调试时传入{headless:false}可以关闭headless模式。
在浏览器中具有一个browser.newPage方法,该方法可以打开一个新选项卡并返回选项卡的实例page(页面),通过page上的各种方法可以对页面进行各种操作。
具体地,利用puppeteer创建浏览器实例时,结合输入的url参数来实现。
在所述步骤S2中,利用浏览器加载表单数据,并在加载完成后进行截图作为日志。
考虑到有表单数据需要异步加载,所以可在表单数据加载完成后,延迟1000ms调用screenshot方法截图留作日志。
在所述步骤S3中,依次遍历表单内的元素,获取表单内的元素类型。
元素类型有选择类型和输入类型,根据不同的类型,测试的方式有所不同。
在所述步骤S4中,获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表。
优选的,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
例如在输入框中输入帐号密码,模拟输入需要先调用tap方法模拟点击输入框,tap参数就是元素selector,再用type方法进行输入,输入完了之后在模拟点击登录按钮,登录完之后延迟一段时间(例如1000ms)截图。
优选的,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。对于选择类型的测试配置值,则可以预先设置好,直接选择即可。
进一步,根据输入类型对应的测试配置值以及选择类型对应的测试配置值,创建测试配置表。
通过所述测试配置表可统一管理测试配置值,便于提高效率。
在所述步骤S5中,调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志。
对于输入动作来说,先调用tap方法模拟点击输入框,tap参数就是元素selector,再调用type方法进行输入。
对于选择动作来说,可直接调用type方法进行输入。
在所述步骤S6中,调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志。
例如,点击确定按钮时,可先获取到当前页frame,具体可以调用刚创建的页面实例的mainFrame()方法即可获得,如果需要获取子frame的话,也只需要调用childFrames来进行获取。在获取到对应的frame之后就可以调用midas_frame.$(selector)类jquery的方法进行元素的获取,之后再模拟点击。
最后在步骤S7中,关闭浏览器实例。在关闭浏览器实例之前,进行截图作为日志。
进一步,保存每一次截图得到的日志。本发明中,均可调用screenshot方法截图留作日志。在截图之前还延迟一段时间,例如1000ms,再进行截图。
测试人员使用自动化表单测试脚本时,可先运行脚本,并输入参数,比如在测试管理后台登录页面时,可输入登录页面所对应的url,配置登录接口所需的参数json文件,比如登录页面包括用户名和密码的json文件,再运行脚本,运行完成后,检查截图是否达到预期,从而完成一次表单测试。
本发明可以减少测试人员的测试时间,让测试人员能够快速且高效的完成后台系统中表单项的测试,有精力投入到更重要的面对用户的游戏化产品的测试中。开发人员也可以利用脚本进行自测,减少交付给测试的程序bug数量。
请参阅图2,本发明还提供一种电子设备10,其包括:
处理器110,适于实现各指令,以及
存储设备120,适于存储多条指令,所述指令适于由处理器加载并执行:
利用puppeterr创建浏览器实例;
利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
依次遍历表单内的元素,获取表单内的元素类型;
获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
最后关闭浏览器实例。
所述处理器110可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、任何其它这种配置。
存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的自动化测试方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行自动化测试方法的各种功能应用以及数据处理,即实现上述方法实施例中的自动化测试方法。
进一步,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
进一步,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。
进一步,根据输入类型对应的测试配置值以及选择类型对应的测试配置值,创建测试配置表。
关于上述电子设备10的具体技术细节在前面的方法中已有详述,故不再赘述。
本发明还提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的编程平台下的表单的自动化测试方法。
本发明还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的编程平台下的表单的自动化测试方法。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种编程平台下的表单的自动化测试方法,其特征在于,包括步骤:
利用puppeterr创建浏览器实例;
利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
依次遍历表单内的元素,获取表单内的元素类型;
获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
最后关闭浏览器实例。
2.根据权利要求1所述的编程平台下的表单的自动化测试方法,其特征在于,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
3.根据权利要求2所述的编程平台下的表单的自动化测试方法,其特征在于,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。
4.根据权利要求3所述的编程平台下的表单的自动化测试方法,其特征在于,根据输入类型对应的测试配置值以及选择类型对应的测试配置值,创建测试配置表。
5.根据权利要求1所述的编程平台下的表单的自动化测试方法,其特征在于,保存每一次截图得到的日志。
6.一种电子设备,其特征在于,包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
利用puppeterr创建浏览器实例;
利用浏览器加载表单数据,并在加载完成后进行截图作为日志;
依次遍历表单内的元素,获取表单内的元素类型;
获取所述元素类型相应的测试配置值,根据所述测试配置值创建测试配置表;
调用查询方法模拟输入或选择动作,输入或选择动作完成后进行截图作为日志;
调用点击方法模拟点击提交动作,并在提交动作完成后进行截图作为日志;
最后关闭浏览器实例。
7.根据权利要求6所述的电子设备,其特征在于,当所述元素类型为输入类型时,调用点击方法模拟点击输入框,并获取输入类型对应的测试配置值。
8.根据权利要求7所述的电子设备,其特征在于,当所述元素类型为选择类型时,获取选择类型对应的测试配置值。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-5任一项所述的编程平台下的表单的自动化测试方法。
10.一种计算机程序产品,其特征在于,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行权利要求1-5任一项所述的编程平台下的表单的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962821.1A CN109299001A (zh) | 2018-08-22 | 2018-08-22 | 一种编程平台下的表单的自动化测试方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962821.1A CN109299001A (zh) | 2018-08-22 | 2018-08-22 | 一种编程平台下的表单的自动化测试方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109299001A true CN109299001A (zh) | 2019-02-01 |
Family
ID=65165441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810962821.1A Pending CN109299001A (zh) | 2018-08-22 | 2018-08-22 | 一种编程平台下的表单的自动化测试方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299001A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597108A (zh) * | 2020-04-23 | 2020-08-28 | 平安国际智慧城市科技股份有限公司 | 表单属性测试方法、装置及计算机可读存储介质 |
CN111857932A (zh) * | 2020-07-27 | 2020-10-30 | 成都安恒信息技术有限公司 | 一种基于puppeteer用于运维审计系统的web代填方法 |
CN113505077A (zh) * | 2021-07-26 | 2021-10-15 | 平安信托有限责任公司 | 数据表的测试方法、装置、设备及存储介质 |
CN114924723A (zh) * | 2022-05-09 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 页面呈现方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391786A (zh) * | 2014-10-31 | 2015-03-04 | 任子行网络技术股份有限公司 | 网页自动化测试系统及其方法 |
CN108197021A (zh) * | 2017-12-28 | 2018-06-22 | 深圳市彬讯科技有限公司 | 一种web系统自动化测试方法、装置、设备及存储介质 |
-
2018
- 2018-08-22 CN CN201810962821.1A patent/CN109299001A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391786A (zh) * | 2014-10-31 | 2015-03-04 | 任子行网络技术股份有限公司 | 网页自动化测试系统及其方法 |
CN108197021A (zh) * | 2017-12-28 | 2018-06-22 | 深圳市彬讯科技有限公司 | 一种web系统自动化测试方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
ROCKYANG: ""Puppeteer 入门教程"", 《CSDN博客,HTTPS://WWW.R9IT.COM/20171106/PUPPETEER.HTML 》 * |
淡就加点盐: ""爬虫利器 Puppeteer 实战 - 简书"", 《简书,HTTPS://WWW.JIANSHU.COM/P/A9A55C03F768》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597108A (zh) * | 2020-04-23 | 2020-08-28 | 平安国际智慧城市科技股份有限公司 | 表单属性测试方法、装置及计算机可读存储介质 |
CN111857932A (zh) * | 2020-07-27 | 2020-10-30 | 成都安恒信息技术有限公司 | 一种基于puppeteer用于运维审计系统的web代填方法 |
CN113505077A (zh) * | 2021-07-26 | 2021-10-15 | 平安信托有限责任公司 | 数据表的测试方法、装置、设备及存储介质 |
CN114924723A (zh) * | 2022-05-09 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 页面呈现方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299001A (zh) | 一种编程平台下的表单的自动化测试方法及电子设备 | |
US11449370B2 (en) | System and method for determining a process flow of a software application and for automatically generating application testing code | |
US8001468B2 (en) | Method and system for accelerating test automation of software applications | |
CN109144856A (zh) | 一种ui自动化测试方法、计算设备及存储介质 | |
CN105955888A (zh) | 一种页面调试预览方法及系统 | |
CN108845940A (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN110032519A (zh) | 云函数调试方法、装置、计算机设备及存储介质 | |
CN110196809B (zh) | 接口测试方法及装置 | |
CN110059003B (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN104794049A (zh) | 应用程序测试方法和装置 | |
CN111782317A (zh) | 页面的测试方法和装置、存储介质和电子装置 | |
US20140006868A1 (en) | Test Executive System With Offline Results Processing | |
CN111026638A (zh) | 一种网页自动化测试方法、装置、电子设备和存储介质 | |
CN114064503A (zh) | 一种ui自动化测试方法、装置、电子设备及存储介质 | |
Job | Automating and optimizing software testing using artificial intelligence techniques | |
CN111580898A (zh) | 一种仿真软件自动化执行的方法和装置 | |
CN116756046B (zh) | 一种接口自动化测试方法、装置、设备及存储介质 | |
US11836510B2 (en) | Snapshot capture of computing device user interfaces | |
CN112416734A (zh) | 测试的方法、装置以及存储介质 | |
CN113220592B (zh) | 自动化测试资源的处理方法、装置、服务器及存储介质 | |
Ujhelyi et al. | Towards dynamic backward slicing of model transformations | |
US20130346141A1 (en) | Workflow modeling with workets and transitions | |
Makki et al. | Scalable and manageable customization of workflows in multi-tenant saas offerings | |
CN113377468A (zh) | 一种脚本执行方法、装置、电子设备及存储介质 | |
Zhyhulin et al. | Combined method of prioritization and automation of software regression testing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190201 |
|
RJ01 | Rejection of invention patent application after publication |