CN107220170A - 一种测试方法、装置及电子设备 - Google Patents

一种测试方法、装置及电子设备 Download PDF

Info

Publication number
CN107220170A
CN107220170A CN201610166370.1A CN201610166370A CN107220170A CN 107220170 A CN107220170 A CN 107220170A CN 201610166370 A CN201610166370 A CN 201610166370A CN 107220170 A CN107220170 A CN 107220170A
Authority
CN
China
Prior art keywords
control
positional information
download
child
electronic equipment
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
Application number
CN201610166370.1A
Other languages
English (en)
Inventor
刘金龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610166370.1A priority Critical patent/CN107220170A/zh
Publication of CN107220170A publication Critical patent/CN107220170A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

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)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例中提供了一种测试方法、装置及电子设备,该方法包括:获取控件的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;根据该位置信息和该控件的类型,模拟电子设备的输入设备对该控件执行相应测试操作。采用本申请中的测试方案,能够较好的实现跨操作***和跨应用程序的控件测试,能够提高通用性。

Description

一种测试方法、装置及电子设备
技术领域
本申请涉及测试技术,具体地,涉及一种测试方法、装置及电子设备。
背景技术
在应用程序设计完成后,为测试应用程序中控件的功能,需要对控件进行测试。
在现有技术中,通常通过特定的测试软件模拟鼠标左/右键点击、鼠标移动和窗口/控件操作、键盘输入等操作来实现控件的自动化测试。AutoIt就是这类测试软件中的一种。AutoIt被用于在Windows***中进行控件的功能测试。AutoIt的实现方式如下:根据测试需求确定目标控件所处的应用程序;通过与该应用程序之间的接口,向目标控件发送模拟用户操作的指令。
采用现有技术中的方案,当用户需要进行其他操作***中的控件测试时,用户需要分析控件所在的应用程序的代码,以编写测试软件与各应用程序之间的接口程序,由于各应用程序在不同操作***中的代码不相同,使得用户需要编写多套接口程序,通用性差。
发明内容
本申请实施例中提供了一种测试方法、装置及电子设备,用于解决现有技术中测试方法通用性差的问题。
根据本申请实施例的第一个方面,提供了一种测试方法,应用于一电子设备,包括:获取控件的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;根据该位置信息和该控件的类型,模拟电子设备的输入设备对该控件执行相应测试操作。
根据本申请实施例的第二个方面,提供了一种测试装置,应用于一电子设备,包括:位置信息获取模块,用于获取控件的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;测试操作模拟模块,用于根据该位置信息和该控件的类型,模拟该电子设备的输入设备对该控件执行相应测试操作。
根据本申请实施例的第三个方面,还提供了一种电子设备,包括:处理器、存储器、通信接口和总线;该处理器、该存储器和该通信接口通过该总线连接并完成相互间的通信;该存储器存储可执行程序代码;该处理器通过读取该存储器中存储的可执行程序代码来运行与该可执行程序代码对应的程序,以用于执行一种测试方法;其中,该测试方法包括:获取控件的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;根据该位置信息和该控件的类型,模拟电子设备的输入设备对该控件执行相应测试操作。
根据本申请实施例的第四个方面,还提供了一种存储介质,其中,该存储介质用于存储应用程序,该应用程序用于在运行时执行本申请实施例所述的一种测试方法。
本发明实施例第五方面还提供一种应用程序,其中,该应用程序用于在运行时执行本申请实施例所述的一种测试方法。
采用本申请实施例中的测试方法、装置及电子设备,通过获取控件的位置信息,然后根据该位置信息和该控件的类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够较好的实现跨操作***和跨应用程序的控件测试,提高通用性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例一的测试方法的流程图;
图2为本申请实施例二所示的测试方法的流程图;
图3为本申请实施例三所示的测试装置的结构示意图;
图4为本申请实施例四所示的电子设备的结构示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在实现本申请的过程中,发明人发现,采用现有技术中的测试方法,用户需要分析控件所处的应用程序的代码,以编写测试软件与各应用程序之间的接口程序,由于各应用程序在不同操作***中的代码不相同,使得用户还需要编写多套接口程序,通用性差。
另外,在实现本申请的过程中,发明人还发现,在进行网页功能测试时,现有技术中常用的测试软件selenium不支持操作浏览器中的上传和下载功能的测试,在利用selenium进行网页测试时,必须找一个第三方的工具或者方法来实现上传和下载控件功能的测试,导致操作不便。
针对上述问题,本申请实施例中提供了一种测试方法及装置,通过获取控件的位置信息,然后根据该位置信息和控件的类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够方便地跨操作***实现测试,提高通用性。
本申请实施例中的方案可以应用于各种的自动化测试方案中,例如,网页的自动化测试、应用程序的自动化测试等。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java等。
实施例一
图1为本申请实施例一的测试方法的流程图。如图1所示,根据本申请实施例一的测试方法包括以下步骤:
S101,预先创建配置文件,该配置文件中包括在一种或多种运行参数下,该控件分别对应的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;
S102,获取该控件当前的运行参数;
S103,从该配置文件中查询控件在当前运行参数下的位置信息;
S104,根据该位置信息和控件的类型,模拟输入设备对该控件执行相应测试操作。
在具体实施时,在S101的一种具体实施方式中,可以由用户预先测量在一种或多种运行参数下,待测试的控件分别对应的位置信息。具体地,该电子设备可以包括例如手机、计算机、PAD等的多种电子设备;该显示屏可以包括电子设备的屏幕;应当理解,通电后能够在屏幕上显示内容的设备均在本申请的保护范围之内。
具体地,在预先创建配置文件时,可以对常用的多种类型的控件的位置信息进行测量。具体地,该控件的类型可以包括更新控件、保存控件、上传控件、下载控件等。具体地,该运行参数可以包括下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。在控件为网页控件时,该运行参数还可以进一步包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号等。
在具体实施时,一个控件可以包括一个子控件,也可以包括多个子控件。例如,更新控件可以仅包括更新按钮,上传控件可以包括上传文件路径输入框子控件和上传按钮子控件,下载控件可以包括下载按钮子控件、下载路径输入框子控件和确定下载子控件等。
可以预先测量在多种屏幕分辨率下、多种操作***及各操作***版本中,在多种浏览器及各浏览器版本中,各控件对应的位置信息。具体地,本申请实施例中的显示屏可以包括移动终端的屏幕和计算机的屏幕;分辨率可以包括多种多种分辨率,例如,640*480、800*480、1024*600、1280*720、1600*1200、1920*1080等;操作***可以包括手机操作***和计算机操作***,如Windows、Unix、Mac OS(Operating System,操作***)、Linux、IOS、安卓等;浏览器可以包括如微软的IE(Internet Explorer,互联网浏览器)、UC、Opera、chrome、Safari等多种类型的浏览器。例如,在1600*1200的分辨率下,在Windows 7的操作***中,在IE8浏览器中,打开该网页时,某一控件的位置信息等。
在具体实施时,在S101的另一种具体实施方式中,该位置信息可以是该控件在屏幕中的坐标信息。具体地,该坐标信息可以是以屏幕左上角为原点,水平向右为x轴正方向,垂直于水平方向向下为y轴正方向;当然,也可以以水平向左为x轴正方向,垂直于水平方向向上为y轴正方向等;本申请对此不作限制。在具体实施时,还可以以屏幕其他点作为原点,或者以其他方向作为x轴和y轴的正方向,本申请对此均不作限制。
在具体实施时,由于控件通常具有一定的尺寸,可以进一步将该控件的某一特定点的坐标确定为该控件的坐标信息,例如,可以将该控件的起始点作为该控件的坐标,也可以将该控件的中心点作为该控件的坐标,还可以将该控件的结束点作为该控件的坐标,本申请对此均不作限制。
在具体实施时,可以以屏幕像素作为坐标横坐标和纵坐标的刻度,即,一个像素作为一个坐标刻度。当然,也可以以预定的多个像素作为一个坐标,本申请均不作限制。
本领域技术人员应当理解,除上述坐标信息之外,能够用于在屏幕中唯一的标示该控件的位置的信息均可以作为写入配置文件中的位置信息,例如,除选取屏幕左上角为原点之外,还可以选取当前操作***中的某一特定图标作为参照物,测量待测控件与该参照物的相对位置信息,例如,相对距离等;本申请对此均不作限制。
在具体实施时,可以利用坐标测量工具,来测量该控件在一种或多种运行参数下,分别对应的位置信息。具体地,可以利用例如像素尺子Pixel Ruler、屏幕尺子JRuler等的坐标测量工具来测量各控件的坐标。
在具体实施时,该配置文件中可以以列表的形式提供,也可以以其他形式提供。具体地,可以以表1中的运行参数与位置信息对应表的形式提供。下表中示出了以控件的起始点作为控件的位置信息,并且以屏幕的左上角为原点,以水平向右为x轴正方向,垂直于水平方向向下为y轴正方向的坐标系中的坐标数据作为位置信息的配置文件的一种具体实施方式。应当理解,下表中数据的示出仅为示例的目的,并不用于限制本申请。本领域技术人员应当理解,能够示出运行参数与位置信息的对应关系的各种形式均在本申请的保护范围之内。
表1运行参数与位置信息对应表
屏幕分辨率 操作***及版本 浏览器及版本 控件名称 坐标(x,y)
1920*1080 Windows 7 IE 8 上传 1520,980
1920*1080 Windows 7 IE 8 下载 780,980
1920*1080 IOS 9 Safari 5 上传 1320,950
1920*1080 IOS 9 Safari 5 下载 680,950
1600*1200 Windows 7 IE 8 上传 1220,780
1600*1200 Windows 7 IE 8 下载 580,780
1600*1200 IOS 9 Safari 5 上传 1120,950
1600*1200 IOS 9 Safari 5 下载 480,950
……
在表1中,示出了在不同的屏幕分辨率、不同的操作***及版本、以及不同的浏览器类型及版本下,各控件对应的位置信息。即,在屏幕分辨率为1920*1080的屏幕中,在操作***Windows 7中,浏览器为IE 8时,待测的网页中的上传控件的起始点坐标为(1520,980);在屏幕分辨率为1920*1080的屏幕中,在操作***Windows 7中,浏览器为IE8时,待测的网页中的下载控件的起始点坐标为(780,980);在屏幕分辨率为1920*1080的屏幕中,在操作***IOS 9中,浏览器为Safari 5时,待测的网页中的上传控件的起始点坐标为(1320,950);在屏幕分辨率为1920*1080的屏幕中,在操作***IOS 9中,浏览器为Safari 5时,待测的网页中的下载控件的起始点坐标为(680,950)等。应当理解,上表中数据的示出仅为示例的目的,并不用于限制本申请。
由于各控件可能还包括多个子控件,例如,上传控件可以包括上传文件路径输入框子控件和上传按钮子控件的上传控件,下载控件可以包括下载按钮子控件、下载路径输入框子控件和确定下载子控件;此时,配置文件中的位置信息也可以包括该上传控件中的各子控件,以及下载控件中的各子控件的位置信息。
具体地,可以以表2中的运行参数与各子控件的位置信息对应表的形式提供。下表中示出了以子控件的起始点作为子控件的位置信息,并且以屏幕的左上角为原点,以水平向右为x轴正方向,垂直于水平方向向下为y轴正方向的坐标系中的坐标数据作为位置信息的配置文件的一种具体实施方式。应当理解,下表中数据的示出仅为示例的目的,并不用于限制本申请。本领域技术人员应当理解,能够示出运行参数与各子控件位置信息的对应关系的各种形式均在本申请的保护范围之内。
表2运行参数与子控件位置信息对应表
在表2中,示出了在不同的屏幕分辨率、不同的操作***及版本、以及不同的浏览器类型及版本下,各子控件对应的位置信息。即,在屏幕分辨率为1920*1080的屏幕中,在操作***Windows 7中,浏览器为IE 8时,待测的网页中的上传文件路径输入框的起始点坐标为(1520,980)、上传按钮的起始点坐标为(1620,600);在屏幕分辨率为1920*1080的屏幕中,在操作***Windows7中,浏览器为IE8时,待测的网页中的下载按钮起始点坐标为(780,980)、下载路径输入框的起始点坐标为(500,400);确定下载的起始点坐标为(880,980)。应当理解,上表中数据的示出仅为示例的目的,并不用于限制本申请。
在步骤S102的一种具体实施方式中,可以向用户提供输入该控件当前的运行参数的设置页面,通过用户输入的参数来获取当前的运行参数。具体地,该运行参数可以包括与配置文件中的运行参数相对应的多个参数。即,下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。在控件为网页控件时,该运行参数还可以进一步包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号等。
以待测的控件为网页中的上传控件为例,假设配置文件如上表;则需要获取的运行参数包括当前的屏幕分辨率、操作***类型及版本号、以及浏览器类型及版本号。
在具体实施时,用户可以通过多种方式获取屏幕分辨率,例如,对于安装Windows操作***的终端,可以通过查看“控制面板”中的“显示”功能获取当前屏幕分辨率;对于如手机的移动终端,可以通过终端型号查询对应的屏幕分辨率参数。
在具体实施时,用户可以多种方式获取操作***及版本号。例如,对于安装Windows操作***的终端,可以通过查看“我的电脑”的“属性”获取当前操作***及版本号;对于移动终端,可以通过终端型号查询对应的操作***类型;对于安装IOS操作***的移动终端,可以通过“设置”中的“通用”中的“关于本机”了解当前的操作***版本号。
在具体实施时,用户可以多种方式获取浏览器类型及版本号。例如,通过浏览器的“属性”功能获取浏览器的类型和版本号。
在步骤S102的另一种具体实施方式中,还可以通过多种计算机语言编写代码以获取当前控件的运行参数,例如,在Java语言中,可以通过java.awt.Toolkit.getDefaultToolkit().getScreenSize()函数获取屏幕当前分辨率,可以通过System.getProperty(″os.name″)和System.getProperty(″os.version″)函数获取操作***类型和版本号;还可以通过javascript语言中的navigator.userAgent.toLowerCase()函数获取当前使用的浏览器类型和版本号。
在步骤103的一种具体实施方式中,在获取控件的当前运行参数之后,可以从步骤101中创建的配置文件中获取在当前运行参数下,控件对应的位置信息。
仍然以网页中的上传控件为例,假设配置文件以表1的形式提供,假设在步骤102中获取的当前运行参数为屏幕分辨率为1600*1200、操作***为Windows 7、浏览器为IE8,则可以确定控件对应的坐标为(1220,780)。
在确定该控件的位置信息之后,可以根据该位置信息和控件的类型,模拟输入设备对该控件执行相应测试操作。即,对于不同类型的控件,执行不同的测试操作。具体地,控件的类型可以包括更新控件、保存控件、上传控件或下载控件等。
在具体实施时,输入设备可以包括多种用户接收用户输入的设备,如键盘、鼠标、可触摸屏等;本申请对此不作限制。具体地,可以通过JAVA语言中的Robot类来模拟键盘和/或鼠标对控件执行的相应测试操作。具体地,Robot提供以下常用功能:
void keyPress(int keycode),用来产生指定键的按键按下动作;
void keyRelease(int keycode),用来产生指定键的按键抬起动作;
void mouseMove(int x,int y),用于将鼠标光标移动到指定的屏幕坐标;
void mousePress(int buttons),用于产生指定鼠标按钮的按下动作;
void mouseRelease(int buttons),用于产生指定鼠标按钮的抬起动作;
void mouseWheel(int wheelAmt),用于产生滚轮动作。
在具体实施时,在测试上传和下载控件时,除鼠标点击之外,还涉及上传文件路径和下载文件的保存路径的输入;因此,在执行测试之前,还可以预先设置上传文件路径和下载文件的保存路径。例如,上传文件路径为“D:\test\upload\test”;下载文件的保存路径为“D:\test\download”等。
在步骤104的第一种具体实施方式中,上传控件包括上传文件路径输入框子控件和上传按钮子控件的上传控件,位置信息包括所述上传控件中的各子控件的位置信息,模拟输入设备对该控件执行相应测试操作具体可以包括:模拟鼠标将光标移动至该上传控件的上传文件路径输入框位置;模拟键盘输入预先配置的上传文件路径信息;模拟鼠标移动至所述上传控件的上传按钮位置;模拟鼠标左键点击所述上传按钮子控件。
例如,在采用JAVA语言中的Robot类来模拟键盘和/或鼠标对控件执行相应测试操作时,可以调用void mouseMove(intx,inty)函数模拟鼠标将光标移动至该上传控件的上传文件路径输入框位置;然后调用void keyPress(int buttons)函数根据预先设置的上传文件路径信息,依次按下各键以输入上传文件路径;在输入完成后,可以调用void mouseMove(intx,inty)函数模拟鼠标移动至上传控件的上传按钮位置;再调用void mousePress(int buttons)函数模拟鼠标左键点击上传按钮子控件。
具体地,void mouseMove(intx,inty)中的参数intx,inty可以从配置文件中查询得到。假设配置文件以表2的形式提供,假设在步骤102中获取的当前运行参数为屏幕分辨率为1920*1080、操作***为Windows 7、浏览器为IE8,在步骤103中,确定上传文件路径输入框子控件对应的坐标为(1520,980);上传按钮子控件对应的坐标为(1620,600)。
具体地,void keyPress(int buttons)中的参数int buttons可以由预先设置的上传文件路径转码得到,具体地,可以通过Robot中的方法KeyEvent.getExtendedKeyCodeForChar(k)转码得到。例如,该参数k可以是“D:\test\upload\test”。
具体地,void mousePress(int buttons)中的参数int buttons可以根据设置确定,例如,点击左键,则设置为void mousePress(left buttons);点击右键,则设置为void mousePress(right buttons)等。
至此,已模拟鼠标和键盘完成对上传控件的自动化测试。
在步骤104的第二种具体实施方式中,对于包括下载按钮子控件、下载路径输入框子控件和确定下载子控件的下载控件,位置信息包括下载控件中的各子控件的位置信息,模拟输入设备对该控件执行相应测试操作具体可以包括:模拟鼠标将光标移动至下载按钮子控件的位置;模拟鼠标左键点击下载按钮子控件;模拟鼠标移动至下载路径输入框子控件的位置;模拟键盘输入预先配置的下载文件保存路径信息;模拟鼠标移动至确定下载子控件的位置;模拟鼠标左键点击确定下载子控件。
例如,在采用JAVA语言中的Robot类来模拟键盘和/或鼠标对控件执行相应测试操作时,可以调用void mouseMove(intx,inty)函数模拟鼠标将光标移动至该下载控件的下载按钮子控件位置;然后调用void mousePress(int buttons)函数模拟鼠标左键点击下载按钮子控件;然后在弹出下载对话话框后,调用voidmouseMove(intx,inty)函数模拟鼠标移动至下载路径输入框子控件的位置;再调用void keyPress(int buttons)函数,根据预先设置的下载文件保存路径信息,模拟键盘依次按下各键以输入下载文件保存路径;在输入完成后,可以调用voidmouseMove(intx,inty)函数模拟鼠标移动至确定下载子控件的位置;再调用voidmousePress(int buttons)函数模拟鼠标左键点击确定下载子控件。
具体地,void mouseMove(intx,inty)中的参数intx,inty可以从配置文件中查询得到。假设配置文件以表2的形式提供,假设在步骤102中获取的当前运行参数为屏幕分辨率为1920*1080、操作***为Windows 7、浏览器为IE8,在步骤103中,确定下载按钮对应的坐标为(780,980);下载路径输入框子控件对应的坐标为(500,400);确定下载子控件对应的坐标为(880,980)。
具体地,void mousePress(int buttons)中的参数int buttons可以由预先设置的下载文件保存路径转码得到,具体地,可以通过Robot中的方法KeyEvent.getExtendedKeyCodeForChar(k)转码得到。例如,该参数k可以是“D:\test\download”。
具体地,void mousePress(int buttons)中的参数int buttons可以根据设置确定,例如,点击左键,则设置为void mousePress(left buttons);点击右键,则设置为void mousePress(right buttons)等。
至此,已模拟鼠标和键盘完成对下载控件的自动化测试。
在步骤104的第三种具体实施时,还可以根据控件的类型,仅模拟鼠标、键盘、或可触摸屏执行相应测试操作,例如,对于更新控件,可以仅模拟鼠标移动至该控件,并左键点击该控件;对于文本控件,可以仅模拟键盘进行预定字符的输入等;本申请对此不作限制。
采用本申请实施例中的测试方法,通过获取控件的位置信息,然后根据该位置信息和控件类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够方便地跨操作***实现测试,通用性好。
上实施例一中,示出了通过配置文件的方式获取位置信息的测试方法流程。在具体实施时,还可以向用户提供输入该控件的位置信息的设置页面,即,通过用户输入的参数来获取控件的位置信息。下面将结合实施例二来对通过用户输入的参数来获取控件的位置信息的测试方法流程进行阐述。
实施例二
图2为本申请实施例二所示的测试方法的流程图。
如图2所示,根据本申请实施例二所示的测试方法包括以下步骤:
S201,用户通过坐标测量工具,测量该控件在当前运行参数下,对应的位置信息;
S202,接收用户通过设置页面输入的位置信息;
S203,根据该位置信息和控件的类型,模拟输入设备对该控件执行相应测试操作。
在具体实施时,该位置信息可以包括该控件在屏幕中的坐标信息。具体地,该坐标信息可以是以屏幕左上角为原点,水平向右为x轴正方向,垂直于水平方向向下为y轴正方向;当然,也可以以水平向左为x轴正方向,垂直于水平方向向上为y轴正方向等;本申请对此不作限制。在具体实施时,还可以以屏幕其他点作为原点,或者以其他方向作为x轴和y轴的正方向,本申请对此均不作限制。
在具体实施时,由于控件通常具有一定的尺寸,可以进一步将该控件的某一特定点的坐标确定为该控件的坐标信息,例如,可以将该控件的起始点作为该控件的坐标,也可以将该控件的中心点作为该控件的坐标,还可以将该控件的结束点作为该控件的坐标,本申请对此均不作限制。
具体地,用户可以利用例如像素尺子Pixel Ruler、屏幕尺子JRuler等的坐标测量工具来测量各控件的坐标。
在步骤202的一种具体实施方式中,可以向用户提供输入位置信息的设置页面,用户在该页面中输入在步骤201中测量得到的控件的坐标信息。
步骤203的实施可以参照步骤104的实施,重复之处不再赘述。
在本申请实施例中,在步骤201之后,还可以进一步包括:获取控件的当前运行参数,并保存当前运行参数与该控件在当前运行参数下,对应的位置信息之间的对应关系的步骤。即,在用户测量得到当前运行参数与该控件对应的位置信息的对应关系之后,可以将该对应关系保存至配置文件中,以便下一次在相同运行参数下执行该控件的测试时,可以直接获取位置信息,避免用户重复测量。
具体地,该运行参数可以包括下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。在控件为网页控件时,该运行参数还可以进一步包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号等。具体地,一个控件可以包括多个子控件。例如,上传控件可以包括上传文件路径输入框子控件和上传按钮子控件,下载控件可以包括下载按钮子控件、下载路径输入框子控件和确定下载子控件。
具体地,用户可以通过多种方式获取屏幕分辨率,例如,对于安装Windows操作***的终端,可以通过查看“控制面板”中的“显示”功能获取当前屏幕分辨率;对于如手机的移动终端,可以通过终端型号查询对应的屏幕分辨率参数。具体地,用户还可以多种方式获取操作***及版本号。例如,对于安装Windows操作***的终端,可以通过查看“我的电脑”的“属性”获取当前操作***及版本号;对于移动终端,可以通过终端型号查询对应的操作***类型;对于安装IOS操作***的移动终端,可以通过“设置”中的“通用”中的“关于本机”了解当前的操作***版本号。具体地,用户还可以多种方式获取浏览器类型及版本号。例如,通过浏览器的“属性”功能获取浏览器的类型和版本号。
采用本申请实施例中的测试方法,通过获取控件的位置信息,然后根据该位置信息和控件类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够方便地跨操作***实现测试,提高通用性。
基于同一发明构思,本申请实施例中还提供了一种应用于电子设备的测试装置,由于该装置解决问题的原理与本申请实施例一或二所提供的测试方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
实施例三
图3为本申请实施例三所示的测试装置的结构示意图。
如图3所示,根据本申请实施例三所示的测试装置300,包括:位置信息获取模块301,用于获取控件的位置信息,该位置信息用于标识该控件在该电子设备的显示屏上被显示时对应的位置;测试操作模拟模块302,用于根据该位置信息和该控件类型,模拟该电子设备的输入设备对该控件执行相应测试操作。
在具体实施时,位置信息获取模块,具体可以用于:在预先创建的配置文件中读取该控件的位置信息;或者利用坐标测量工具,测量得到的该控件的位置信息。
在具体实施时,预先创建的配置文件中可以包括:在一种或多种运行参数下,该控件分别对应的位置信息。
在具体实施时,该运行参数包括下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。
在具体实施时,当该控件为网页控件时,该运行参数还可以包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号。
在具体实施时,根据本申请实施例三所示的测试装置300还可以包括:当前运行参数获取模块,用于获取该控件的当前运行参数。
在具体实施时,位置信息获取模块,具体可以包括:查询子模块,用于从该配置文件中查询该控件的当前运行参数对应的位置信息;确定子模块,用于将该当前运行参数对应的位置信息,确定为该控件的位置信息。
在具体实施时,该位置信息可以包括该控件在电子设备的显示屏上被显示时对应的坐标信息。
在具体实施时,根据本申请实施例三所示的测试装置300还可以包括:接收模块,用于利用坐标测量工具,测量得到的该控件在一种或多种运行参数下,分别对应的位置信息;配置文件生成模块,用于将该控件在一种或多种运行参数下,分别对应的位置信息写入配置文件。
在具体实施时,该控件类型,可以包括:更新控件、保存控件、上传控件或下载控件。
在具体实施时,在该控件类型包括上传控件,该输入设备包括鼠标和键盘;该上传控件包括上传文件路径输入框子控件和上传按钮子控件,该位置信息包括该上传控件中的各子控件的位置信息时;该测试操作模拟模块,具体可以用于:模拟鼠标将光标移动至该上传控件的上传文件路径输入框位置;模拟键盘输入预先配置的上传文件路径信息;模拟鼠标移动至该上传控件的上传按钮位置;模拟鼠标左键点击该上传按钮子控件。
在具体实施时,在该控件类型包括下载控件,该输入设备包括鼠标和键盘;该下载控件包括下载按钮子控件、下载路径输入框子控件和确定下载子控件,该位置信息包括该下载控件中的各子控件的位置信息时;该测试操作模拟模块,具体可以用于:模拟鼠标将光标移动至该下载按钮子控件的位置;模拟鼠标左键点击该下载按钮子控件;模拟鼠标移动至该下载路径输入框子控件的位置;模拟键盘输入预先配置的下载文件保存路径信息;模拟鼠标移动至该确定下载子控件的位置;模拟鼠标左键点击该确定下载子控件。
采用本申请实施例中的测试装置,通过获取控件的位置信息,然后根据该位置信息和控件类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够方便地跨操作***实现测试,提高通用性。
实施例四
基于同一发明构思,本申请实施例中还提供了如图4所示的一种电子设备400。
该电子设备400包括:处理器401、存储器402、通信接口403、总线404、显示屏405和输入设备406;该处理器401、存储器402、通信接口403、显示屏405和输入设备406通过总线404连接并完成相互间的通信;该存储器存储可执行程序代码;该处理器通过读取该存储器中存储的可执行程序代码来运行与该可执行程序代码对应的程序,以用于执行一种测试方法;其中,该测试方法包括:获取控件的位置信息,该位置信息用于标识该控件在电子设备的显示屏上被显示时对应的位置;根据该位置信息和该控件的类型,模拟电子设备的输入设备对该控件执行相应测试操作。
该电子设备中运行的测试方法解决问题的原理与本申请实施例一或二所提供的测试方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。
采用本申请实施例中的电子设备,通过获取控件的位置信息,然后根据该位置信息和控件类型,模拟输入设备对该控件执行相应测试操作,由于是根据控件的位置信息来模拟输入设备对该控件执行相应测试操作,从而使用户仅需要确定控件的位置信息,就能够实现对控件的测试,能够方便地跨操作***实现测试,提高通用性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (25)

1.一种测试方法,应用于一电子设备,其特征在于,包括:
获取控件的位置信息,所述位置信息用于标识所述控件在所述电子设备的显示屏上被显示时对应的位置;
根据所述位置信息和所述控件的类型,模拟所述电子设备的输入设备对所述控件执行相应测试操作。
2.根据权利要求1所述的方法,其特征在于,获取控件的位置信息,具体包括:
在预先创建的配置文件中读取所述控件的位置信息;或者
利用坐标测量工具,测量得到所述控件的位置信息。
3.根据权利要求2所述的方法,其特征在于,预先创建的配置文件中包括:在一种或多种运行参数下,所述控件分别对应的位置信息。
4.根据权利要求3所述的方法,其特征在于,所述运行参数包括下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。
5.根据权利要求4所述的方法,其特征在于,当所述控件为网页控件时,所述运行参数还包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号。
6.根据权利要求3-5中任一项所述的方法,其特征在于,在预先创建的配置文件中读取所述控件的位置信息之前,还包括:
获取所述控件的当前运行参数。
7.根据权利要求6所述的方法,其特征在于,在预先创建的配置文件中读取所述控件的位置信息,具体包括:
从所述配置文件中查询所述控件的当前运行参数对应的位置信息;
将所述当前运行参数对应的位置信息,确定为所述控件的位置信息。
8.根据权利要求1所述的方法,其特征在于,所述位置信息包括所述控件在所述电子设备的显示屏上被显示时对应的的坐标信息。
9.根据权利要求8所述的方法,其特征在于,在预先创建的配置文件中读取所述控件的位置信息之前,还包括:
利用坐标测量工具,测量得到的所述控件在一种或多种运行参数下,分别对应的位置信息;
将所述控件在一种或多种运行参数下,分别对应的位置信息写入配置文件。
10.根据权利要求1所述的方法,其特征在于,所述控件的类型,包括:更新控件、保存控件、上传控件或下载控件。
11.根据权利要求1所述的方法,其特征在于,所述控件的类型包括上传控件,所述输入设备包括鼠标和键盘;所述上传控件包括上传文件路径输入框子控件和上传按钮子控件,所述位置信息包括所述上传控件中的各子控件的位置信息;
根据所述位置信息和所述控件的类型,模拟输入设备对所述控件执行相应测试操作,具体包括:
模拟鼠标将光标移动至所述上传控件的上传文件路径输入框位置;
模拟键盘输入预先配置的上传文件路径信息;
模拟鼠标移动至所述上传控件的上传按钮位置;
模拟鼠标左键点击所述上传按钮子控件。
12.根据权利要求1所述的方法,其特征在于,所述控件的类型包括下载控件,所述输入设备包括鼠标和键盘;所述下载控件包括下载按钮子控件、下载路径输入框子控件和确定下载子控件,所述位置信息包括所述下载控件中的各子控件的位置信息;
根据所述位置信息和所述控件的类型,模拟输入设备对所述控件执行相应测试操作,具体包括:
模拟鼠标将光标移动至所述下载按钮子控件的位置;
模拟鼠标左键点击所述下载按钮子控件;
模拟鼠标移动至所述下载路径输入框子控件的位置;
模拟键盘输入预先配置的下载文件保存路径信息;
模拟鼠标移动至所述确定下载子控件的位置;
模拟鼠标左键点击所述确定下载子控件。
13.一种测试装置,应用于一电子设备,其特征在于,包括:
位置信息获取模块,用于获取控件的位置信息,所述位置信息用于标识所述控件在所述电子设备的显示屏上被显示时对应的位置;
测试操作模拟模块,用于根据所述位置信息和所述控件类型,模拟所述电子设备的输入设备对所述控件执行相应测试操作。
14.根据权利要求13所述的装置,其特征在于,位置信息获取模块,具体用于:在预先创建的配置文件中读取所述控件的位置信息;或者利用坐标测量工具,测量得到的所述控件的位置信息。
15.根据权利要求13所述的装置,其特征在于,预先创建的配置文件中包括:在一种或多种运行参数下,所述控件分别对应的位置信息。
16.根据权利要求15所述的装置,其特征在于,所述运行参数包括下述的一种或多种的任意组合:屏幕分辨率、操作***类型、操作***版本号。
17.根据权利要求16所述的装置,其特征在于,当所述控件为网页控件时,所述运行参数还包括下述的一种或多种的任意组合:浏览器类型、浏览器版本号。
18.根据权利要求15-17中任一项所述的装置,其特征在于,还包括:
当前运行参数获取模块,用于获取所述控件的当前运行参数。
19.根据权利要求18所述的装置,其特征在于,位置信息获取模块,具体包括:
查询子模块,用于从所述配置文件中查询所述控件的当前运行参数对应的位置信息;
确定子模块,用于将所述当前运行参数对应的位置信息,确定为所述控件的位置信息。
20.根据权利要求13所述的装置,其特征在于,所述位置信息包括所述控件在所述电子设备的显示屏上被显示时对应的坐标信息。
21.根据权利要求20所述的装置,其特征在于,还包括:
接收模块,用于利用坐标测量工具,测量得到的所述控件在一种或多种运行参数下,分别对应的位置信息;
配置文件生成模块,用于将所述控件在一种或多种运行参数下,分别对应的位置信息写入配置文件。
22.根据权利要求13所述的装置,其特征在于,所述控件类型,包括:更新控件、保存控件、上传控件或下载控件。
23.根据权利要求13所述的装置,其特征在于,所述控件类型包括上传控件,所述输入设备包括鼠标和键盘;所述上传控件包括上传文件路径输入框子控件和上传按钮子控件,所述位置信息包括所述上传控件中的各子控件的位置信息;所述测试操作模拟模块,具体用于:模拟鼠标将光标移动至所述上传控件的上传文件路径输入框位置;模拟键盘输入预先配置的上传文件路径信息;模拟鼠标移动至所述上传控件的上传按钮位置;模拟鼠标左键点击所述上传按钮子控件。
24.根据权利要求13所述的装置,其特征在于,所述控件类型包括下载控件,所述输入设备包括鼠标和键盘;所述下载控件包括下载按钮子控件、下载路径输入框子控件和确定下载子控件,所述位置信息包括所述下载控件中的各子控件的位置信息;所述测试操作模拟模块,具体用于:模拟鼠标将光标移动至所述下载按钮子控件的位置;模拟鼠标左键点击所述下载按钮子控件;模拟鼠标移动至所述下载路径输入框子控件的位置;模拟键盘输入预先配置的下载文件保存路径信息;模拟鼠标移动至所述确定下载子控件的位置;模拟鼠标左键点击所述确定下载子控件。
25.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种测试方法;其中,所述测试方法包括:
获取控件的位置信息,所述位置信息用于标识所述控件在所述电子设备的显示屏上被显示时对应的位置;
根据所述位置信息和所述控件的类型,模拟所述电子设备的输入设备对所述控件执行相应测试操作。
CN201610166370.1A 2016-03-22 2016-03-22 一种测试方法、装置及电子设备 Pending CN107220170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610166370.1A CN107220170A (zh) 2016-03-22 2016-03-22 一种测试方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610166370.1A CN107220170A (zh) 2016-03-22 2016-03-22 一种测试方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN107220170A true CN107220170A (zh) 2017-09-29

Family

ID=59927361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610166370.1A Pending CN107220170A (zh) 2016-03-22 2016-03-22 一种测试方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN107220170A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062793A (zh) * 2018-07-23 2018-12-21 广州云测信息技术有限公司 一种滚轮控件的测试方法、装置及电子设备
CN109800161A (zh) * 2018-12-28 2019-05-24 网宿科技股份有限公司 一种用户界面的控件测试方法、电子设备和可存储介质
CN111414309A (zh) * 2020-03-27 2020-07-14 武汉联影医疗科技有限公司 应用程序的自动化测试方法、计算机设备和存储介质
CN112162750A (zh) * 2020-09-09 2021-01-01 杭州涂鸦信息技术有限公司 一种一份用例脚本实现不同***相同功能方法和***
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN113069757A (zh) * 2021-02-24 2021-07-06 广州点云科技有限公司 云游戏自动加速方法、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640537A (en) * 1991-11-20 1997-06-17 Apple Computer, Inc. Apparatus for causing a computer system to respond to emulated user interaction in the absence of actual user interaction
CN103823758A (zh) * 2014-03-13 2014-05-28 北京金山网络科技有限公司 一种浏览器测试方法及装置
CN104239044A (zh) * 2014-09-05 2014-12-24 北京航天自动控制研究所 一种图形用户界面动态生成方法
CN104268083A (zh) * 2014-09-30 2015-01-07 上海联影医疗科技有限公司 软件自动化测试方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640537A (en) * 1991-11-20 1997-06-17 Apple Computer, Inc. Apparatus for causing a computer system to respond to emulated user interaction in the absence of actual user interaction
CN103823758A (zh) * 2014-03-13 2014-05-28 北京金山网络科技有限公司 一种浏览器测试方法及装置
CN104239044A (zh) * 2014-09-05 2014-12-24 北京航天自动控制研究所 一种图形用户界面动态生成方法
CN104268083A (zh) * 2014-09-30 2015-01-07 上海联影医疗科技有限公司 软件自动化测试方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062793A (zh) * 2018-07-23 2018-12-21 广州云测信息技术有限公司 一种滚轮控件的测试方法、装置及电子设备
CN109800161A (zh) * 2018-12-28 2019-05-24 网宿科技股份有限公司 一种用户界面的控件测试方法、电子设备和可存储介质
CN111414309A (zh) * 2020-03-27 2020-07-14 武汉联影医疗科技有限公司 应用程序的自动化测试方法、计算机设备和存储介质
CN111414309B (zh) * 2020-03-27 2022-03-01 武汉联影医疗科技有限公司 应用程序的自动化测试方法、计算机设备和存储介质
CN112162750A (zh) * 2020-09-09 2021-01-01 杭州涂鸦信息技术有限公司 一种一份用例脚本实现不同***相同功能方法和***
CN112328492A (zh) * 2020-11-19 2021-02-05 腾讯科技(深圳)有限公司 一种主播间的互动控制方法、装置和电子设备
CN113069757A (zh) * 2021-02-24 2021-07-06 广州点云科技有限公司 云游戏自动加速方法、设备及计算机可读存储介质
CN113069757B (zh) * 2021-02-24 2024-03-26 广州点云科技有限公司 云游戏自动加速方法、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107220170A (zh) 一种测试方法、装置及电子设备
WO2020154737A1 (en) Identifying user interface elements using element signatures
EP2946252B1 (en) Automated input simulation for simulated programmable logic controller
CN104063063A (zh) 输入法的数学计算输入方法和输入法***
US11194596B2 (en) Simulating human interface interaction resilient to user interface changes
CN108664461A (zh) 一种网页表单自动填写方法及装置
CN108700860B (zh) 用于配置测量模块的***和方法
CN106510734B (zh) 一种基于移动终端的数据处理方法和装置
JP2019082874A (ja) 設計支援装置及び設計支援システム
CN111104123A (zh) 应用程序的自动部署
CN113760282A (zh) 表单界面的配置方法、装置、设备、介质及程序产品
Sus et al. Software system for virtual laboratory works
CN105094381A (zh) 一种书写处理方法和装置
CN111190826A (zh) 一种虚拟现实沉浸式追踪环境的测试方法、装置、存储介质及设备
US11372750B2 (en) Test script for application under test having abstracted action group instantiations
US9152388B2 (en) Tailored language sets for business level scripting
CN110717315B (zh) ***数据批量修改方法、装置、存储介质及电子设备
CN111488368A (zh) 数据查询方法、装置及电子设备
CN113918133B (zh) 最优控制问题求解器构建方法及***
CN115062571A (zh) 应用于集成电路器件的数据区域动态选取方法、***、设备和计算机可读存储介质
Aristizabal et al. Development of an Android App as a learning tool of dynamic systems and automatic control
KR101568841B1 (ko) 수학식 인식에 따른 풀이과정 출력 방법 및 시스템
CN112559311B (zh) 一种移动端自动化测试的界面适配方法和装置
CN111460660A (zh) 一种内置模拟物理力学实验场景的电子装置及其控制方法
Vala et al. Design of a software tool for mobile application user mental models collection and visualization

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201209

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Applicant after: Zebra smart travel network (Hong Kong) Limited

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170929