CN112765040B - 页面测试方法、系统、计算机设备和存储介质 - Google Patents
页面测试方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112765040B CN112765040B CN202110153637.4A CN202110153637A CN112765040B CN 112765040 B CN112765040 B CN 112765040B CN 202110153637 A CN202110153637 A CN 202110153637A CN 112765040 B CN112765040 B CN 112765040B
- Authority
- CN
- China
- Prior art keywords
- test
- browser
- page
- task
- automatic
- 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.)
- Active
Links
- 238000001545 Page's trend test Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 460
- 230000006870 function Effects 0.000 claims description 90
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000010998 test method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003631 expected effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 229910052711 selenium Inorganic materials 0.000 description 3
- 239000011669 selenium Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 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/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/3664—Environments for testing or debugging software
Abstract
本申请涉及一种页面测试方法、系统、计算机设备和存储介质。所述方法包括:接收自动化调度平台下发的测试任务;在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例;从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;根据所述函数和所述配置的测试用例,生成可执行的测试用例;执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试。采用本方法能够提高页面测试的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种页面测试方法、系统、计算机设备和存储介质。
背景技术
随着计算机技术的发展,市面上的浏览器种类也越来越多。由于不同种类的浏览器使用的内核不一样,所以不同浏览器对同一页面的展示效果以及功能按钮的实现效果也不一样。测试人员在页面编写完后,需要针对页面在多浏览器上的兼容性进行测试,以测试同一页面在不同浏览器上的展示效果以及功能实现效果是否达到预期效果。
然而,目前针对页面在多浏览器上的兼容性进行测试的方式,是需要相关人员编写大量的测试用例,手动进行测试。而且,编写完的测试用例,若换了页面,则已编写的测试用例几乎无法重复使用。由此,目前的方法,针对页面在多浏览器上的兼容性测试效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试效率的页面测试方法、系统、计算机设备和存储介质。
一种页面测试方法,所述方法包括:
接收自动化调度平台下发的测试任务;
在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例;
从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;
根据所述函数和所述配置的测试用例,生成可执行的测试用例;
执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试。
在其中一个实施例中,所述方法还包括:
自动化调度平台创建测试任务;所述测试任务中包括指定的执行机的信息;
所述自动化调度平台根据所述指定的执行机的信息,向所述指定的执行机下发所述测试任务。
在其中一个实施例中,所述测试任务中还包括指定的测试用例范围以及指定测试的浏览器的信息;
所述在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例,包括:
指定的所述执行机在检测到所述测试任务后,从版本库中同步自动化测试工程,并从所述版本库中同步在所述指定的测试用例范围内的配置的测试用例;
所述执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试,包括:
所述执行机执行所述可执行的测试用例,以对所述指定测试的浏览器的信息对应的浏览器进行页面测试。
在其中一个实施例中,创建的所述测试任务为至少一个;每个测试任务中包括多个指定的执行机的信息、以及与每个所述执行机对应的指定测试的浏览器的信息。
在其中一个实施例中,在所述执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试之前,所述方法还包括:
将所述测试任务中包括的指定测试的浏览器的信息,存储至所述自动化测试工程的配置文件中;所述指定测试的浏览器为至少一种;
若所述执行机未安装所述指定测试的浏览器,则从所述配置文件中,获取所述浏览器的信息;
根据获取的所述浏览器的信息,从所述自动化测试工程中启动对应的浏览器的安装程序以及驱动程序,以安装所述指定测试的浏览器。
在其中一个实施例中,所述方法还包括:
在执行机对所述测试任务所指定测试的浏览器进行页面测试时,自动化调度平台对所述执行机的页面测试的进度进行监控;
所述自动化调度平台动态展示页面测试的进度。
在其中一个实施例中,所述自动化测试工程,包括公共基础库以及页面类;
所述根据所述函数和所述配置的测试用例,生成可执行的测试用例,包括:
所述函数调用所述公共基础库中封装的相应基础操作以及所述页面类中封装的页面相关操作,以基于所述配置的测试用例,生成可执行的测试用例。
一种页面测试系统,所述系统包括自动化调度平台和至少一个执行机:
所述自动化调度平台,用于向所述执行机下发测试任务;
所述执行机,用于接收自动化调度平台下发的测试任务;
所述执行机还用于在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例;从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;根据所述函数和所述配置的测试用例,生成可执行的测试用例;执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收自动化调度平台下发的测试任务;
在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例;
从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;
根据所述函数和所述配置的测试用例,生成可执行的测试用例;
执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收自动化调度平台下发的测试任务;
在检测到所述测试任务后,从版本库中同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例;
从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;
根据所述函数和所述配置的测试用例,生成可执行的测试用例;
执行所述可执行的测试用例,以对所述测试任务所指定测试的浏览器进行页面测试。
上述页面测试方法、系统、计算机设备和存储介质,工作人员只需要维护版本库中的自动化测试工程以及配置的测试用例即可,执行机接收到自动化调度平台下发的测试任务,可以自行根据测试任务同步自动化测试工程、以及与所述测试任务相对应的配置的测试用例。执行机根据所述配置的测试用例,从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例函数相符的函数,生成可执行的测试用例并执行,即可实现对所述测试任务所指定测试的浏览器进行页面测试。执行机从接收测试任务到完成对所指定测试的浏览器进行的页面测试的过程,均不需要工作人员的参与,由此,节省了工作人员的工作量,提高了页面测试的效率。
附图说明
图1为一个实施例中页面测试方法的应用环境图;
图2为一个实施例中页面测试方法的流程示意图;
图3为一个实施例中自动化调度平台的配置界面示意图;
图4为一个实施例中执行机的自动化测试软件界面示意图;
图5为一个实施例中执行机的本地的工程文件夹以及自动化测试软件的关系图;
图6为另一个实施例中页面测试方法的流程示意图;
图7为一个实施例中页面测试系统的结构框图;
图8为另一个实施例中页面测试系统的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的页面测试方法,可以应用于如图1所示的应用环境中。其中,执行机102通过网络与自动化调度平台104进行通信。其中,执行机102可以但不限于是各种个人计算机、笔记本电脑和平板电脑,自动化调度平104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种页面测试方法,该方法可以通过执行机和自动化调度平台之间的交互来实现,具体包括以下步骤:
步骤202,接收自动化调度平台下发的测试任务。
其中,自动化调度平台,用于通过网络连接调度执行机以执行测试任务。执行机,用于执行自动化调度平台下发的测试任务。测试任务,是对浏览器进行页面测试的任务。
在一个实施例中,自动化调度平台,可以是终端也可以是后台服务器,对此不限定。可以理解,执行机,可以是一个终端,比如个人台式电脑或者笔记本电脑。。
在一个实施例中,当自动化调度平台为终端时,自动化调度平台可以展示配置界面,用户可以在配置界面上进行与测试任务相关的配置操作,自动化调度平台可以根据与测试任务相关的配置操作获取与测试任务相关的信息,以创建测试任务并下发至执行机,执行机可以接收自动化调度平台下发的测试任务。其中,配置界面,是配置测试任务的界面。可以理解,用户可以在配置界面上通过选择和填入数据的方式,来进行与测试任务相关的配置操作。
在一个实施例中,用户可以在自动化调度平台的配置界面上输入任务名、配置的测试用例以及浏览器的信息。测试用例,是页面测试的用例。配置的测试用例,是用户手动配置的测试用例。
在一个实施例中,自动化调度平台的配置界面如图3所示。自动化调度平台通过读取任务名、配置的测试用例、执行机、浏览器的类型以及浏览器的版本,通过后台服务器创建测试任务。
在一个实施例中,执行机可以安装有多个不同的浏览器,并且可以按需切换指定的浏览器。
在一个实施例中,自动化调度平台可以采用客户端服务器端架构(ClientServer,C/S),通过网页来提供服务。针对任务创建、任务监控以及环境管理,自动化调度平台均可以通过网页实现。其中,环境管理,是指管理测试产品以及执行机。
步骤204,在检测到测试任务后,从版本库中同步自动化测试工程、以及与测试任务相对应的配置的测试用例。
其中,版本库,是存放各种版本数据包的数据库,各种版本数据包可以是各种版本的自动化测试工程,各种版本的配置的测试用例。
具体地,执行机在检测到测试任务后,则可以登录版本库,搜索与测试任务对应的自动化测试工程、以及与测试任务对应的配置的测试用例并下载保存。
在一个实施例中,执行机的本地可以存储有旧版本的自动化测试工程,在检测到测试任务后,登录版本库,用最新版本的自动化测试工程替换旧版本的自动化测试工程。
在一个实施例中,版本库可以是版本控制和协作的代码管理平台(GitHub)。
在一个实施例中,如图4所示,是执行机从版本库中同步与测试任务相对应的配置的测试用例。
步骤206,从自动化测试工程中封装的函数库中,确定与配置的测试用例相匹配的函数。
其中,函数库,是包含了测试用例所需要的函数的数据库。
具体地,用户将封装的函数库预先存储至自动化测试工程并上传至版本库中。执行机可以在从版本库同步自动化测试工程后,从自动化测试工程中封装的函数库中,确定与配置的测试用例相匹配的函数。
在一个实施例中,如图4所示,配置的测试用例可以是响应于页面上发生的触发操作进行排课。确定与响应于页面上发生的触发操作进行排课的配置的测试用例相匹配的函数,可以是“Create Course”。其中“Create Course”可以包含有参数如“course_time=下一节课”、“start_time=3”和“end_time=6”,用以测试页面是否能响应于页面上发生的触发操作进行排课。比如,若页面能够响应于页面上发生的触发操作进行排课,则“course_time=下一节课”,可以读取出对应的课程,比如数学。而“start_time=3”和“end_time=6”,则可以读取出比如数学课程的时长。
步骤208,根据函数和配置的测试用例,生成可执行的测试用例。
其中,可执行的测试用例,是代码形式的测试用例,用于执行页面测试。
具体地,配置的测试用例是用户手动配置的测试用例,执行机可以根据用户手动配置的测试用例的操作步骤,对应排列组合相匹配的函数,生成可执行的测试用例。
在一个实施例中,如图4所示,配置的测试用例可以是响应于页面上发生的触发操作进行排课,相应的操作步骤比如“1、在学校A的高三班级重点1班,选择星期二上午第二节点击排课,选择科目数学,频次每周,点击“√”号。2、发布直播、点播、到课程开始时间后查看本地课程,进行直播、点播观看。”。执行机根据操作该操作步骤,从函数库中匹配函数并按照操作步骤1和2排列,比如从“Create Course”开始排列匹配到的函数直到“WatchCourse”。排列好的函数组合,就是执行机生成的可执行的测试用例。
在一个实施例中,执行机可以通过函数组织工具来生成可执行的测试用例。函数组织工具可以是自动化测试软件(ride软件),对应的框架是自动化框架(RobotFramework)。
在一个实施例中,执行机的页面测试环境所对应的计算机语言可以是C、C++或者Python等,此处不做限定。
步骤210,执行可执行的测试用例,以对测试任务所指定测试的浏览器进行页面测试。
在一个实施例中,测试任务所指定测试的浏览器,可以是测试任务包含有浏览器的关键词,也可以是预设的执行机可读取和识别的字符,执行机通过读取浏览器的关键词或者是预设的执行机可读取和识别的字符,解析出测试任务所指定测试的浏览器。
具体地,执行机可以先解析出测试任务指定的浏览器,然后在本地测启动解析出的浏览器上运行待测试的页面,执行可执行的测试用例进行页面测试。
在一个实施例中,执行机可以先在本地测试任务所指定测试的浏览器上运行待测试的页面,然后执行可执行的测试用例进行页面测试。
在一个实施例中,执行机也可以先执行可执行的测试用例,再启动测试任务所指定测试的浏览器并运行待测试的页面以进行页面测试。
在一个实施例中,浏览器以及浏览器内核可以是谷歌浏览器(Chrome)以及其内核(Blink)、苹果浏览器(Safar)以及其内核(Webkit)、网络浏览器(Internet Explorer,IE)以及其内核(Trident)、或者火狐浏览器(Firefox)以及其内核(Gecko)。
在一个实施例中,测试任务所指定测试的浏览器,可以是多台执行机执行相同的测试任务,也可以是多台执行机执行不同的测试任务。
上述页面测试方法中,工作人员只需要维护版本库中的自动化测试工程以及配置的测试用例即可,执行机接收到自动化调度平台下发的测试任务,可以自行根据测试任务同步自动化测试工程、以及与测试任务相对应的配置的测试用例。执行机根据配置的测试用例,从自动化测试工程中封装的函数库中,确定与配置的测试用例函数相符的函数,生成可执行的测试用例并执行,即可实现对测试任务所指定测试的浏览器进行页面测试。执行机从接收测试任务到完成对所指定测试的浏览器进行的页面测试的过程,均不需要工作人员的参与,由此,节省了工作人员的工作量,提高了页面测试的效率。
在一个实施例中,方法还包括:自动化调度平台创建测试任务;测试任务中包括指定的执行机的信息;自动化调度平台根据指定的执行机的信息,向指定的执行机下发测试任务。
在一个实施例中,执行机的信息可以是型号1执行机和型号2执行机。
在一个实施例中,自动化调度平台可以根据执行机的运行状态指定至少一台执行机执行测试任务。
在一个实施例中,也可以是用户执行机的信息填入自动化调度平台的配置页面上,自动化调度平台通过读取配置页面上的执行机的信息来生成。
在一个实施例中,自动化调度平台可以指定用哪些执行机执行测试任务,比如型号1执行机和型号2执行机执行任务,就将测试任务下发至指定的执行机上,以执行页面测试。
本实施例中,自动化调度平台仅向指定的执行机下发测试任务,可以节约网络传输资源,提高执行机执行页面测试的效率。
在一个实施例中,测试任务中还包括指定的测试用例范围以及指定测试的浏览器的信息;在检测到测试任务后,从版本库中同步自动化测试工程、以及与测试任务相对应的配置的测试用例,包括:指定的执行机在检测到测试任务后,从版本库中同步自动化测试工程,并从版本库中同步在指定的测试用例范围内的配置的测试用例;执行可执行的测试用例,以对测试任务所指定测试的浏览器进行页面测试,包括:执行机执行可执行的测试用例,以对指定测试的浏览器的信息对应的浏览器进行页面测试。
其中,测试用例范围,是配置的测试用例的等级范围。比如,配置的测试用例可以按预先设定的重要性划分出多个等级,可以理解,而测试用例范围内的配置的测试用例,则可以是符合指定等级的配置的测试用例。浏览器的信息,是浏览器的规范格式的信息,比如,指定了版本5-10的IE浏览器进行页面测试,浏览器的信息,可以是便于执行机解析的“Browser_Type=IE,Browser_version=5-10”规范格式的信息。
具体地,执行机在检测到测试任务后,登录版本库,可以搜索与测试任务对应的自动化测试工程、以及搜索与测试任务指定的测试用例范围内的配置的测试用例并下载保存。执行机读取测试任务的浏览器的信息,解析出测试任务所指定测试的浏览器后,在解析出的浏览器上运行待测试的页面,执行可执行的测试用例进行页面测试。
本实施例中,自动化调度平台通过指定测试用例范围内的配置的测试用例,以及指定测试的浏览器的信息,可以实现快速重点测试。
在一个实施例中,创建的测试任务为至少一个;每个测试任务中包括多个指定的执行机的信息、以及与每个执行机对应的指定测试的浏览器的信息。
具体地,自动化调度平台可以将测试任务的下发至指定的执行机,接收到测试任务的执行机,根据解析出指定测试的浏览器后,执行可执行的测试用例,以对解析出的浏览器进行页面测试。
在一个实施例中,自动化调度平台可以同时创建多个测试任务,按照测试任务指定的执行机下发测试任务。
在一个实施例中,测试任务可以指定每个执行机执行不同的测试任务,比如型号1的执行机,执行指定测试的是版本6的IE浏览器,型号1的执行机,执行指定测试的是版本10的IE浏览器。
在一个实施例中,创建的测试任务为至少一个,单个测试任务可以指定多个执行机,多个执行机可以分别指定不同的测试的浏览器,以针对同一页面在不同的指定的浏览器上并行进行页面测试。
本实施例中,通过指定每个执行机执行指定测试的浏览器,可以使执行机同时对不同的浏览器进行测试,能够快速在多种浏览器上进行页面测试。
在一个实施例中,在执行可执行的测试用例,以对测试任务所指定测试的浏览器进行页面测试之前,方法还包括:将测试任务中包括的指定测试的浏览器的信息,存储至自动化测试工程的配置文件中;指定测试的浏览器为至少一种;若执行机未安装指定测试的浏览器,则从配置文件中,获取浏览器的信息;根据获取的浏览器的信息,从自动化测试工程中启动对应的浏览器的安装程序以及驱动程序,以安装指定测试的浏览器。
其中,配置文件,是存储了浏览器的信息的文件。
具体地,执行机将测试任务指定的测试的浏览器的信息,存储至自动化测试工程的配置文件中。执行机按照测试任务查看是否安装有指定测试的浏览器,若未安装,从配置文件读取指定测试的浏览器的信息,并通过自动化测试工程对应的浏览器的安装程序以及驱动程序,安装指定测试的浏览器。
在一个实施例中,存储到配置文件中的浏览器的信息可以仅包含有该执行机被指定测试的浏览器的信息,还可以包含本次测试的各个测试任务所全部指定测试的浏览器的信息。
在一个实施例中,自动化调度平台可以直接在下发测试任务时,将浏览器的信息下发至执行机的自动化测试工程的配置文件中。自动化调度平台也可以根据配置界面上选择的浏览器的信息,生成配置文件后,下发至执行机的自动化测试工程中。
在一个实施例中,执行机接收到配置文件后,可以将配置文件存储到本地的自动化测试工程中。其中,自动化测试工程,是一个数据包,用于提供页面测试所需的数据,比如页面测试所需要的函数,浏览器信息等至少一种。
在一个实施例中,若自动化测试工程含有初始配置文件,执行机可以用当前接收到的配置文件替换初始配置文件。
本实施例中,通过执行机自动安装指定测试的浏览器,可以免去用户安装的流程,提高的页面测试的效率。
在一个实施例中,方法还包括:在执行机对测试任务所指定测试的浏览器进行页面测试时,自动化调度平台对执行机的页面测试的进度进行监控;自动化调度平台动态展示页面测试的进度。
具体地,自动化调度平台可以在显示界面上的显示至少一个执行机的页面测试的进度。
一个实施例中,页面测试的进度,可以是将测试失败的结果以及测试通过的结果以不同的颜色区分显示。
本实施例中,通过在自动化调度平台上展示页面测试的进度,可以方便用户直观地查看已完成的页面测试的测试结果,并及时针对测试失败的结果调整页面。
在一个实施例中,自动化测试工程,包括公共基础库以及页面类;根据函数和配置的测试用例,生成可执行的测试用例,包括:函数调用公共基础库中封装的相应基础操作以及页面类中封装的页面相关操作,以基于配置的测试用例,生成可执行的测试用例。
其中,公共基础库,是针对函数库所需的公共函数进行的封装的函数库。页面类,是针对页面所使用的公共的类元素和对类元素进行操作的操作函数进行封装的类。比如,页面1需要使用到元素1,以及对元素1进行操作的操作函数1,而页面2需要使用到元素1,以及对元素1进行操作的操作函数2,则页面类则封装了元素1以及操作函数1和操作函数2。
具体地,执行机生成可执行的测试用例时,若与配置的测试用例相对应的函数需要的嵌套函数在公共基础库中存在、以及与配置的测试用例相对应的函数需要用到的对页面进行的页面测试的元素在页面类中存在,则通过调用公共基础库的嵌套函数的接口、以及页面类的元素,生成可执行的测试用例。
在一个实施例中,用户可以使用网页自动化测试工具(Selenium)进行自动化测试工程的编写和维护。
在一个实施例中,用户可以使用基于自动化测试工具网页驱动(SeleniumWebDriver)封装符合页面测试所需的函数的公共基础库。
在一个实施例中,封装的页面类可以是使用页面元素(Page Object)设计模式思想进行封装。
在一个实施例中,如图5所示,在执行机内,有自动化测试软件软件(即Ride软件),还有自动化测试工程。自动化测试工程中包含有浏览器的安装程序和驱动程序、配置文件、函数库、支持函数库的函数的页面类和公共基础库。自动化测试工程的基础计算机语言为“python”。公共基础库包含有自动化测试工具网页驱动接口(Selenium WebDriver API),若需要调用公共基础库的基础操作时,通过调用自动化测试工具网页驱动接口即可实现调用公共基础库的基础操作。执行机在检测到本地未安装有指定测试的浏览器,从配置文件读取浏览器类型和版本,根据读取的类型和版本,启动浏览器的安装程序和驱动程序安装指定测试的浏览器。自动化测试软件可以调用公共基础库中封装的相应基础操作以及页面类中封装的页面相关操作,以基于配置的测试用例,生成可执行的测试用例并执行,执行后获取页面测试结果并上传至自动化调度平台。其中,页面类包含页面基类和子类,子类可以继承页面基类生成不同页面所需的元素以及对元素进行操作的操作函数。
本实施例中,通过将一些相同的函数或者相同的页面元素以及对页面元素的相关操作封装起来,使用的时候直接调用,可以减少重复编写代码的工作量,也可以节约代码的存储空间。
在一个实施例中,多个执行机执行完页面测试后,可以将页面测试的结果上传至自动化调度平台。自动化调度平台接收到的多个执行机上传的页面测试的结果,根据预设的报告格式进行整合,生成页面测试报告。其中,预设的报告格式,可以是用户在自动化调度平台上预先配置的报告格式。
在一个实施例中,针对一个配置的测试用例的页面测试的结果,用户可以直观从页面测试的报告查看总的测试结果,也可展开细节查看函数对应的详细的执行结果。比如,配置的测试用例,是响应于页面上发生的触发操作进行排课,预期效果为排课成功。若测试结果为排课成功,用户可以直观从页面测试的报告查看总的测试结果,比如通过(pass),也可以展开细节查看函数(keyword)的参数能够读取都相应的值,如参数“course_time”能够读取到“下一节课”,参数“start_time”能够读取到“3”和参数“end_time”能够读取到“6”等,则表示能够实现响应于页面上发生的触发操作进行排课的页面功能,页面测试达到了预期效果。
在一个实施例中,自动化测试软件在分析页面测试结果是否为异常时,可以是通过将指定的测试的浏览器上运行的页面进行的截图,并将截图与标准效果图进行比对,以判断页面测试结果是否异常。若发生异常,自动化测试软件可以将包含有异常结果的截图保存至页面测试报告中。
本实施例中,用户无需手工测试,由自动化调度平台和执行机来模拟真实用户页面测试,有效提高页面测试准确性和页面测试效率。
在一个实施例中,用户也可以手动参与到页面测试流程中,以提高自动化页面测试的覆盖率。
在一个实施例中,如图6所示,为一个页面测试方法流程示意图。自动化调度平台创建测试任务后,将配置信息下发至执行机。执行机保存配置信息至本地配置文件中,根据测试任务登录版本库,搜索与测试任务对应的自动化测试工程、以及与测试任务对应的配置的测试用例并下载保存。执行机可以在从版本库同步自动化测试工程后,从自动化测试工程中封装的函数库中,确定与配置的测试用例相匹配的函数,根据用户手动配置的测试用例的操作步骤,对应排列组合相匹配的函数,生成可执行的测试用例。执行可执行的测试用例前,执行机检测本地是否已安装测试任务指定测试的浏览器,若不存在,则安装,若存在,则基于指定测试的浏览器执行可执行的测试用例,生成页面测试报告并上传至自动化调度平台。
应该理解的是,虽然上述各个实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种页面测试系统700,包括自动化调度平台701和至少一个执行机702:
所述自动化调度平台701,用于向所述执行机702下发测试任务;
所述执行机702,用于接收自动化调度平台701下发的测试任务。
所述执行机702,还用于在检测到测试任务后,从版本库中同步自动化测试工程、以及与测试任务相对应的配置的测试用例;从自动化测试工程中封装的函数库中,确定与配置的测试用例相匹配的函数;根据函数和配置的测试用例,生成可执行的测试用例;执行可执行的测试用例,以对测试任务所指定测试的浏览器进行页面测试。
在一个实施例中,自动化调度平台701,还用于创建测试任务;测试任务中包括指定的执行机的信息;根据指定的执行机的信息,向指定的执行机下发测试任务。
在一个实施例中,测试任务中还包括指定的测试用例范围以及指定测试的浏览器的信息;执行机702,还用于指定的执行机在检测到测试任务后,从版本库中同步自动化测试工程,并从版本库中同步在指定的测试用例范围内的配置的测试用例;执行可执行的测试用例,以对指定测试的浏览器的信息对应的浏览器进行页面测试。
在一个实施例中,创建的测试任务为至少一个;每个测试任务中包括多个指定的执行机的信息、以及与每个执行机对应的指定测试的浏览器的信息。
在一个实施例中,执行机702,还用于将测试任务中包括的指定测试的浏览器的信息,存储至自动化测试工程的配置文件中;指定测试的浏览器为至少一种;若执行机未安装指定测试的浏览器,则从配置文件中,获取浏览器的信息;根据获取的浏览器的信息,从自动化测试工程中启动对应的浏览器的安装程序以及驱动程序,以安装指定测试的浏览器。
在一个实施例中,自动化调度平台701,还用于在执行机对测试任务所指定测试的浏览器进行页面测试时,对执行机702的页面测试的进度进行监控;动态展示页面测试的进度。
在一个实施例中,自动化测试工程,包括公共基础库以及页面类;执行机702,还用于函数调用公共基础库中封装的相应基础操作以及页面类中封装的页面相关操作,以基于配置的测试用例,生成可执行的测试用例。
在一个实施例中,如图8所示,执行机内部组成的功能模块可以包含自动化测试工程以及页面测试基础环境,其中,自动化测试工程内的功能模块可以包含浏览器库以及函数库。自动化调度平台内部组成的功能模块可以包含任务创建模块、任务监控模块以及环境管理模块。
关于页面测试系统的具体限定可以参见上文中对于页面测试方法的限定,在此不再赘述。上述页面测试系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是自动化调度平台,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储页面测试数据。该计算机设备的网络接口用于与外部的执行机通过网络连接通信。该计算机程序被处理器执行时以实现一种页面测试方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是执行机,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种页面测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9和图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种页面测试方法,其特征在于,所述方法包括:
接收自动化调度平台下发的测试任务;所述自动化调度平台用于通过网络连接调度执行机以执行所述测试任务;所述执行机用于执行所述自动化调度平台下发的测试任务,所述执行机安装有多个不同的浏览器,并且按需切换指定的浏览器;所述测试任务是对浏览器进行页面测试的至少一个任务,包括多个指定的执行机的信息、指定的测试用例范围以及指定测试的浏览器的信息;
指定的所述执行机在检测到所述测试任务后,从版本库中同步自动化测试工程,并从所述版本库中同步在所述指定的测试用例范围内的配置的测试用例;所述版本库是存放各种版本数据包的数据库,各所述种版本数据包是各种版本的所述自动化测试工程和各种版本的配置的测试用例;所述自动化测试工程包括公共基础库以及页面类,所述公共基础库是针对函数库所需的公共函数进行的封装的函数库,所述页面类是针对页面所使用的公共的类元素和对所述类元素进行操作的操作函数进行封装的类;
从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;所述函数库,是包含了所述测试用例所需要的函数的数据库;
所述函数调用所述公共基础库中封装的相应基础操作以及所述页面类中封装的页面操作,以基于配置的测试用例,生成可执行的测试用例;
将所述测试任务中包括的指定测试的浏览器的信息,存储至所述自动化测试工程的配置文件中,所述指定测试的浏览器为至少一种;若所述执行机未安装所述指定测试的浏览器,则从所述配置文件中,获取所述浏览器的信息;根据获取的所述浏览器的信息,从所述自动化测试工程中启动对应的浏览器的安装程序以及驱动程序,以安装所述指定测试的浏览器;
所述执行机执行所述可执行的测试用例,以对所述指定测试的浏览器的信息对应的浏览器进行页面测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
自动化调度平台创建测试任务;所述测试任务中包括指定的执行机的信息;
所述自动化调度平台根据所述指定的执行机的信息,向所述指定的执行机下发所述测试任务。
3.根据权利要求2所述的方法,其特征在于,所述自动化调度平台创建测试任务包括:
当自动化调度平台为终端时,所述自动化调度平台展示配置界面;
响应于在所述配置界面上进行与测试任务相关的配置操作,根据所述配置操作获取与所述测试任务相关的信息,以创建所述测试任务。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述测试任务后,登录版本库,用最新版本的自动化测试工程替换所述版本库中旧版本的自动化测试工程。
5.根据权利要求1所述的方法,其特征在于,所述测试任务包含有浏览器的关键词;所述方法还包括:
所述执行机通过读取浏览器的关键词,解析出所述测试任务所指定测试的浏览器。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行机对所述测试任务所指定测试的浏览器进行页面测试时,自动化调度平台对所述执行机的页面测试的进度进行监控;
所述自动化调度平台动态展示页面测试的进度。
7.根据权利要求1所述的方法,其特征在于,所述根据所述函数和所述配置的测试用例,生成可执行的测试用例,包括:
所述函数调用所述公共基础库中封装的相应基础操作以及所述页面类中封装的页面相关操作,以基于所述配置的测试用例,生成可执行的测试用例。
8.一种页面测试系统,其特征在于,所述系统包括自动化调度平台和至少一个执行机:
所述自动化调度平台,用于向所述执行机下发测试任务,以及通过网络连接调度所述执行机以执行所述测试任务;所述测试任务是对浏览器进行页面测试的至少一个任务,包括多个指定的执行机的信息、指定的测试用例范围以及指定测试的浏览器的信息;
所述执行机,用于接收自动化调度平台下发的测试任务;所述执行机安装有多个不同的浏览器,并且按需切换指定的浏览器;
所述执行机,还用于在检测到所述测试任务后,从版本库中同步自动化测试工程,并从所述版本库中同步在所述指定的测试用例范围内的配置的测试用例;所述版本库是存放各种版本数据包的数据库,各所述种版本数据包是各种版本的所述自动化测试工程和各种版本的配置的测试用例;所述自动化测试工程包括公共基础库以及页面类,所述公共基础库是针对函数库所需的公共函数进行的封装的函数库,所述页面类是针对页面所使用的公共的类元素和对所述类元素进行操作的操作函数进行封装的类;
所述执行机,还用于从所述自动化测试工程中封装的函数库中,确定与所述配置的测试用例相匹配的函数;所述函数库,是包含了所述测试用例所需要的函数的数据库;所述函数调用所述公共基础库中封装的相应基础操作以及所述页面类中封装的页面操作,以基于配置的测试用例,生成可执行的测试用例;将所述测试任务中包括的指定测试的浏览器的信息,存储至所述自动化测试工程的配置文件中,所述指定测试的浏览器为至少一种;若所述执行机未安装所述指定测试的浏览器,则从所述配置文件中,获取所述浏览器的信息;根据获取的所述浏览器的信息,从所述自动化测试工程中启动对应的浏览器的安装程序以及驱动程序,以安装所述指定测试的浏览器;
所述执行机,还用于执行所述可执行的测试用例,以对所述指定测试的浏览器的信息对应的浏览器进行页面测试。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110153637.4A CN112765040B (zh) | 2021-02-04 | 2021-02-04 | 页面测试方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110153637.4A CN112765040B (zh) | 2021-02-04 | 2021-02-04 | 页面测试方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765040A CN112765040A (zh) | 2021-05-07 |
CN112765040B true CN112765040B (zh) | 2024-01-26 |
Family
ID=75704910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110153637.4A Active CN112765040B (zh) | 2021-02-04 | 2021-02-04 | 页面测试方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765040B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330887B1 (en) * | 2003-01-06 | 2008-02-12 | Cisco Technology, Inc. | Method and system for testing web-based applications |
CN104820640A (zh) * | 2015-05-19 | 2015-08-05 | 广州华多网络科技有限公司 | 一种网页测试方法和装置 |
WO2016122508A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Test generation for browser-based user interface |
CN108614774A (zh) * | 2018-04-24 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 自动化测试方法和装置 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN110321281A (zh) * | 2019-05-24 | 2019-10-11 | 中国工程物理研究院计算机应用研究所 | 基于混合自动化测试框架的Web测试平台及测试方法 |
CN110750441A (zh) * | 2019-09-06 | 2020-02-04 | 平安健康保险股份有限公司 | 一种自动化测试方法、装置、计算机设备及存储介质 |
CN110825651A (zh) * | 2019-12-11 | 2020-02-21 | 北京海益同展信息科技有限公司 | 网页兼容性测试方法、装置、系统及存储介质 |
CN112231213A (zh) * | 2020-10-16 | 2021-01-15 | 广州助蜂网络科技有限公司 | Web自动化测试方法、系统、存储介质及终端设备 |
CN112241360A (zh) * | 2019-07-19 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置、设备及存储介质 |
-
2021
- 2021-02-04 CN CN202110153637.4A patent/CN112765040B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330887B1 (en) * | 2003-01-06 | 2008-02-12 | Cisco Technology, Inc. | Method and system for testing web-based applications |
WO2016122508A1 (en) * | 2015-01-29 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Test generation for browser-based user interface |
CN104820640A (zh) * | 2015-05-19 | 2015-08-05 | 广州华多网络科技有限公司 | 一种网页测试方法和装置 |
CN108614774A (zh) * | 2018-04-24 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 自动化测试方法和装置 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN110321281A (zh) * | 2019-05-24 | 2019-10-11 | 中国工程物理研究院计算机应用研究所 | 基于混合自动化测试框架的Web测试平台及测试方法 |
CN112241360A (zh) * | 2019-07-19 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置、设备及存储介质 |
CN110750441A (zh) * | 2019-09-06 | 2020-02-04 | 平安健康保险股份有限公司 | 一种自动化测试方法、装置、计算机设备及存储介质 |
CN110825651A (zh) * | 2019-12-11 | 2020-02-21 | 北京海益同展信息科技有限公司 | 网页兼容性测试方法、装置、系统及存储介质 |
CN112231213A (zh) * | 2020-10-16 | 2021-01-15 | 广州助蜂网络科技有限公司 | Web自动化测试方法、系统、存储介质及终端设备 |
Non-Patent Citations (2)
Title |
---|
Combinatorial Testing of Browsers’ Support for Multimedia;X. Deng 等;《IEEE Transactions on Reliability》;第64卷(第04期);1323-1340 * |
基于XML技术的Web Browser仿真器;杨波 等;《微机发展》;第14卷(第03期);25-28 * |
Also Published As
Publication number | Publication date |
---|---|
CN112765040A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN108287694B (zh) | 应用程序构建方法、系统、计算机设备和存储介质 | |
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
US8898643B2 (en) | Application trace replay and simulation systems and methods | |
CN110768872B (zh) | 巡检方法、系统、装置、计算机设备和存储介质 | |
CN109144856A (zh) | 一种ui自动化测试方法、计算设备及存储介质 | |
WO2019227708A1 (zh) | 测试案例的在线调试装置、方法及计算机可读存储介质 | |
US10942837B2 (en) | Analyzing time-series data in an automated application testing system | |
CN113778898B (zh) | 用户界面自动化测试方法、装置、电子设备及存储介质 | |
CN111290951B (zh) | 测试方法、终端、服务器、系统及存储介质 | |
US11436133B2 (en) | Comparable user interface object identifications | |
CN115454869A (zh) | 界面自动化测试方法、装置、设备及存储介质 | |
CN112115051A (zh) | 应用的页面遍历探测方法、装置、设备及可读存储介质 | |
US9026997B2 (en) | Systems and methods for executing object-oriented programming code invoking pre-existing objects | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN113535567B (zh) | 软件测试方法、装置、设备和介质 | |
CN114168471A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
CN112148618A (zh) | 埋点测试方法和埋点测试平台 | |
CN112765040B (zh) | 页面测试方法、系统、计算机设备和存储介质 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN113485919A (zh) | 测试方法、测试装置及计算机可读存储介质 | |
EP3014562A1 (en) | Simulating sensors | |
CN114817393B (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 |