CN109828906B - Ui自动化测试方法、装置、电子设备及存储介质 - Google Patents
Ui自动化测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109828906B CN109828906B CN201811537732.9A CN201811537732A CN109828906B CN 109828906 B CN109828906 B CN 109828906B CN 201811537732 A CN201811537732 A CN 201811537732A CN 109828906 B CN109828906 B CN 109828906B
- Authority
- CN
- China
- Prior art keywords
- test
- input information
- log
- testing
- keywords
- 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
Images
Classifications
-
- 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
Abstract
一种UI自动化测试方法,所述方法包括:按序执行用于页面测试的测试用例模板中各个测试步骤;获取当前测试步骤的输入信息;调用日志过滤器获取所述当前测试步骤的测试结果;比对所述测试结果与预存的输入信息是否一致;及当所述测试结果与预存的输入信息一致时,执行下一测试步骤。本发明还提供一种UI自动化测试的装置、电子设备及存储介质。所述装置相当于一UI自动化测试工具,可通过所述日志过滤器获取前一步自动化测试的测试结果,并根据该测试结果执行后一步自动化测试,从而让自动化测试顺利执行,提高自动化测试的测试效率。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种UI自动化测试方法、装置、电子设备及存储介质。
背景技术
软件测试是软件开发过程中不可缺少的,由测试工具按照一定的测试方案和流程进行测试操作,其目的是发现潜伏在软件中的缺陷,减少软件开发和维护成本,促进软件质量提升。在各类型的自动化软件测试中,最接近用户需求的软件测试是与用户交互相关的用户界面(User interface,UI)测试。所述UI测试是指测试用户界面的功能模块的布局是否合理,整体风格是否一致,以及各个控件的放置位置是否符合客户使用习惯等,目的是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。因此UI测试对于各种智能客户端如手机、平板电脑等的广泛应用十分重要。同时,由于智能客户端的种类和数量繁多,单纯的人工测试成本和耗时会很大,由此催生了UI自动化测试。
现有技术中,UI自动化涉及到前后两步操作数据具有强关联性,即后一步的自动化操作需要依赖前一步自动化操作的测试结果,但前一步自动化操作的测试结果不能直接从UI层获取,需要配合一些接口逻辑才能得到。
发明内容
鉴于以上内容,有必要提出一种UI自动化测试方法、装置、电子设备及存储介质,能够提高自动化测试的测试效率。
本发明的第一方面提供一种UI自动化测试方法,所述方法包括:
a)按序执行用于页面测试的测试用例模板中各个测试步骤;
b)获取当前测试步骤的输入信息;
c)调用日志过滤器获取所述当前测试步骤的测试结果;
d)比对所述测试结果与预存的输入信息是否一致;及
e)当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,执行下一测试步骤;
f)判断所述测试用例模板中各个测试步骤是否都执行完,当所述测试用例模板中各个测试步骤都执行完成,确认所述页面测试已完成;
g)当所述测试结果与预存的输入信息不一致时,则继续执行上述b)至f)。
优选地,所述调用日志过滤器获取所述当前测试步骤的测试结果之前,所述方法还包括:
提取所述预存的输入信息中的关键词。
优选地,所述调用日志过滤器获取所述当前测试步骤的测试结果的步骤包括:
查看服务器中测试的日志记录;
根据所述输入信息中的关键词从所述日志记录中获取与所述关键词相关的日志;
重新封装所述与所述关键词相关的日志记录并以特定格式返回至日志过滤器。
优选地,所述比对所述测试结果与预存的输入信息是否一致包括:
比对所述测试结果是否存在与所述预存的输入信息一致的关键词;
当所述测试结果中存在所述预存的输入信息中所有的关键词时,确认所述输入信息无误;
当所述测试结果不存在所述输入信息中的关键词时,确认所述输入信息有误。
优选地,提取所述预存的输入信息中的关键词的方法包括:基于统计信息的关键词自动提取方法、基于机器学习的关键词自动提取方法和基于语义分析的关键词自动提取方法。
优选地,所述测试用例模板用于测试应用程序的界面,其中,所述应用程序的界面包括窗口、工具条、输入内容、菜单项、页面布局、图标、界面按钮、时间控件、界面文字、界面信息提示及鼠标和快捷键测试。
优选地,所述输入信息与测试用例模板中应用程序的界面内容相关。
本发明的第二方面提供一种UI自动化测试的装置,所述装置包括:
第一处理模块,用于按序执行用于页面测试的测试用例模板中各个测试步骤;
获取模块,用于获取当前测试步骤的输入信息;
调用模块,用于调用日志过滤器获取所述当前测试步骤的测试结果;
比对模块,用于比对所述测试结果与预存的输入信息是否一致;
第二处理模块,用于当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,执行下一测试步骤;及
判断模块,用于判断所述测试用例模板中各个测试步骤是否都执行完,当所述测试用例模板中各个测试步骤都执行完成,确认所述页面测试已完成。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的UI自动化测试方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述UI自动化测试方法。
本发明所述的UI自动化测试方法、装置、电子设备及存储介质,所述方法实现了通过根据前一步自动化测试的相关关键词,在后一步自动化测试前调用一个获取前一步自动化测试结果的日志过滤器,通过所述日志过滤器获取前一步自动化测试的测试结果,并根据该测试结果执行后一步自动化测试,从而让自动化测试顺利执行,提高自动化测试的测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的UI自动化测试方法的流程图。
图2是本发明实施例二提供的UI自动化测试的装置的功能模块图。
图3是本发明实施例三提供的电子设备的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例的UI自动化测试方法应用在一个或者多个电子设备中。所述UI自动化测试方法也可以应用于由电子设备和通过网络与所述电子设备进行连接的服务器所构成的硬件环境中。网络包括但不限于:广域网、城域网或局域网。本发明实施例的UI自动化测试方法可以由服务器来执行,也可以由电子设备来执行;还可以是由服务器和电子设备共同执行。
所述对于需要进行UI自动化测试方法的电子设备,可以直接在电子设备上集成本发明的方法所提供的UI自动化测试功能,或者安装用于实现本发明的UI自动化测试方法的客户端。再如,本发明所提供的方法还可以以软件开发工具包(Software DevelopmentKit,SDK)的形式运行在服务器等设备上,以SDK的形式提供UI自动化测试功能的接口,电子设备或其他设备通过提供的接口即可实现对脚本的UI自动化测试。
实施例一
图1是本发明实施例一提供的UI自动化测试方法的流程图。根据不同的需求,所述流程图中的执行顺序可以改变,某些步骤可以省略。
S01、按序执行用于页面测试的测试用例模板中各个测试步骤。
在本实施方式中,所述测试用例模板用于测试客户端中应用程序的界面。具体地,可以用于测试应用程序的界面的窗口、工具条、输入内容、菜单项、页面布局、图标、界面按钮、时间控件、界面文字、界面信息提示及鼠标和快捷键测试等内容。
所述应用程序可以是电子设备自带的应用程序,如电话、短信、设置、相机、照片、邮件、备忘录、音乐播放器、视频播放器、日历、天气等;还可以是安装于电子设备的操作系统中任一第三方应用,例如金管家、微信、微博、爱奇艺、优酷、健康160、京东、百度糯米、百度地图、酷狗音乐、网易云音乐、手机淘宝等应用。所述应用程序还可以是电子设备上的浏览器的一个网页程序(webApp),例如,phonegap等。
在本实施方式中,所述客户端可以包括但不限于个人计算机(PersonalComputer,PC)、个人数字助理(PersonalDigital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、智能手机等。
S02、获取当前测试步骤的输入信息。
在本实施方式中,所述电子设备包括显示屏幕,所述显示屏幕可以具有触摸功能,如液晶(Liquid Crystal Display,LCD)显示屏或有机发光二极管(Organic Light-Emitting Diode,OLED)显示屏。所述显示屏幕用于显示所述应用程序界面等内容。
在本实施方式中,所述输入信息可以由用户通过客户端显示屏幕上的一显示界面输入后获取。所述输入信息可以是用户的个人信息(如身份证信息和电话号码等)或账号信息。
可以理解的是,所述输入信息与测试用例模板中应用程序的界面内容相关,例如,当测试用例模板用来测试应用程序界面的页面布局时,所述输入信息可以包括页面的长宽比例、背景色彩等信息。
例如,在一UI自动化测试过程中需要测试一登录界面,当前测试步骤为输入用户个人信息,如用户账号和密码。在输入所述用户个人信息后,需要提交至服务器验证核对所述用户个人信息。当UI自动化测试执行到提交所述用户个人信息至服务器之后会执行步骤S03调用日志过滤器获取所述当前测试步骤的测试结果。
S03、调用日志过滤器获取所述当前测试步骤的测试结果。
现有技术中,UI自动化测试过程中涉及到前后两个测试步骤的操作数据之間具有强关联性,即后一测试步骤的自动化操作需要依赖前一测试步骤的自动化操作的测试结果,但前一步自动化操作的测试结果不能直接从UI层获取。故需采用本方案中的调用日志过滤器获取所述当前测试步骤的测试结果。
在本实施方式中,所述调用日志过滤器获取所述当前测试步骤的测试结果的步骤包括:
1)查看服务器中测试的日志记录;
在本实施方式中,通过日志查看命令可以浏览日志记录。
2)根据所述输入信息中的关键词从所述日志记录中获取与所述关键词相关的日志。在本实施方式中,可以通过Linux grep/sed/awk对所述日志记录进行分析。
在本实施方式中,可以通过linux grep语句从所述日志记录中获取与所述关键词相关的日志,再通过linux sed精简日志内容,通过linux awk对获取的相关日志进行分析并生成报告。
awk是一个强大的文本分析工具,awk可以对所述日志进行逐行的读入,以空格为默认分隔符将所述日志中的每行切片,切开的部分再进行各种分析处理。linux awk支持两种方式的调用,一种是把awk脚本直接在命令行写入,第二种是把awk写在文件中在命令行中调用。
所述linux sed可以精简日志内容。例如,当不需要日志时间,或者要把当前日志时间的格式换个形式展示等等,这时候就可以通过sed的替换命令来进行对日志文件的修改和提取了。
3)重新封装所述与所述关键词相关的日志记录并以特定格式返回至日志过滤器。
在本实施方式中,通过Respnsedata对所述与所述关键词相关的日志记录进行封装。再将封装后的日志记录以json格式返回至日志过滤器,从而可以通过日志过滤器调用就直接获取所述当前测试步骤的有效信息,所述有效信息就是当前测试步骤的测试结果。
所述json(JavaScript Object Notation)是一种数据交互格式。
在本实施方式中,在调用日志过滤器获取所述当前测试步骤的测试结果之前,所述UI自动化测试方法还包括提取所述预存的输入信息中的关键词的步骤。通过提取的关键词来确定所述预存的输入信息。所述关键词的数量是不限的,通常实际使用的时候,提取3个左右的关键词就足够标识唯一的一个用户或一条预存的输入信息,同时所有的关键词之间的逻辑关系是“与”的关系,需要同时满足。
在本实施方式中,提取所述预存的输入信息中的关键词的方法包括:基于统计信息的关键词自动提取方法、基于机器学习的关键词自动提取方法和基于语义分析的关键词自动提取方法。
所述基于统计信息的关键词自动提取算法通过输入信息对应的文本的词汇特征信息或文本中的词汇来构建网络,然后根据词汇的出现频率、分布位置等信息进行统计计算,来获取文本的关键词。例如基于词频、复杂网络特征等。
所述基于机器学习的关键词自动提取算法的基本思想将关键词提取问题视为二元分类问题,在训练阶段根据提取关键词的特征构建关键词分类模型,然后在分类阶段基于模型从文本中抽取词并判断该词是否为关键词,如基于Bayes的方法、基于SVM的方法等。
所述基于语义的关键词自动提取算法从语义的角度分析词语的关键性,与用户的感知逻辑思维比较符合。主要运用语义词典或者词汇链方法来获取词汇间的语义只是来提取文本关键词。
上述提取关键词的算法不限于上述列举的,任何适应于提取关键词的算法均可应用于此。
S04、比对所述测试结果与预存的输入信息是否一致。
在本实施方式中,所述预存的输入信息为用户当前测试步骤所需的准确信息。例如,登录界面所需的准确的用户名和密码。
所述比对所述测试结果与预存的输入信息是否一致的方法包括:
比对所述测试结果是否存在与所述预存的输入信息一致的关键词,当所述测试结果中存在所述预存的输入信息中所有的关键词时,说明服务器验证所述输入信息无误,流程进入步骤S05;当所述测试结果不存在所述输入信息中的关键词时,说明服务器验证所述输入信息有误,流程返回步骤S02,再次获取当前测试步骤的输入信息,从而可以重新验证所述输入信息。
S05、当所述测试结果与预存的输入信息一致时,执行下一测试步骤。
具体地,当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,可以执行下一测试步骤,以继续执行所述页面测试流程。
在本实施方式中,所述UI自动化测试方法还包括:判断所述测试用例模板中各个测试步骤是否都执行完的步骤。当所述测试用例模板中各个测试步骤都执行完成,则确认所述页面测试已完成,结束流程;当测试用例模板中还有测试步骤未执行时,则执行下一测试步骤,直到所有测试步骤都执行完。
综上所述,本发明提供的UI自动化测试方法,通过按序执行用于页面测试的测试用例模板中各个测试步骤,获取当前测试步骤的输入信息,调用日志过滤器获取所述当前测试步骤的测试结果,比对所述测试结果与输入信息是否一致,当所述测试结果与输入信息一致时,执行下一测试步骤。实现了通过根据前一步自动化测试的相关关键词,在后一步自动化测试前调用一个获取前一步自动化测试结果的日志过滤器,通过所述日志过滤器获取前一步自动化测试的测试结果,并根据该测试结果执行后一步自动化测试,从而让自动化测试顺利执行,提高自动化测试的测试效率。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
下面结合第2至3图,分别对实现上述UI自动化测试方法的电子设备的功能模块及硬件结构进行介绍。
实施例二
图2为本发明UI自动化测试的装置较佳实施例中的功能模块图。
在一些实施例中,所述UI自动化测试的装置20运行于电子设备中。所述UI自动化测试的装置20可以包括多个由程序代码段所组成的功能模块。所述UI自动化测试的装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行(详见图1及其相关描述)UI自动化测试功能。
本实施例中,所述UI自动化测试的装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:第一处理模块201、获取模块202、调用模块203、比对模块204及第二处理模块205。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
第一处理模块201用于按序执行用于页面测试的测试用例模板中各个测试步骤。
在本实施方式中,所述测试用例模板用于测试客户端中应用程序的界面。具体地,可以用于测试应用程序的界面的窗口、工具条、输入内容、菜单项、页面布局、图标、界面按钮、时间控件、界面文字、界面信息提示及鼠标和快捷键测试等内容。
所述应用程序可以是电子设备自带的应用程序,如电话、短信、设置、相机、照片、邮件、备忘录、音乐播放器、视频播放器、日历、天气等;还可以是安装于电子设备的操作系统中任一第三方应用,例如金管家、微信、微博、爱奇艺、优酷、健康160、京东、百度糯米、百度地图、酷狗音乐、网易云音乐、手机淘宝等应用。所述应用程序还可以是电子设备上的浏览器的一个网页程序(webApp),例如,phonegap等。
在本实施方式中,所述客户端可以包括但不限于个人计算机(PersonalComputer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、智能手机等。
获取模块202用于获取当前测试步骤的输入信息。
在本实施方式中,所述电子设备包括显示屏幕,所述显示屏幕可以具有触摸功能,如液晶(Liquid Crystal Display,LCD)显示屏或有机发光二极管(Organic Light-Emitting Diode,OLED)显示屏。所述显示屏幕用于显示所述应用程序界面等内容。
在本实施方式中,所述输入信息可以由用户通过客户端显示屏幕上的一显示界面输入后获取。所述输入信息可以是用户的个人信息(如身份证信息和电话号码等)或账号信息。
可以理解的是,所述输入信息与测试用例模板中应用程序的界面内容相关,例如,当测试用例模板用来测试应用程序界面的页面布局时,所述输入信息可以包括页面的长宽比例、背景色彩等信息。
例如,在一UI自动化测试过程中需要测试一登录界面,当前测试步骤为输入用户个人信息,如用户账号和密码。在输入所述用户个人信息后,需要提交至服务器验证核对所述用户个人信息。当UI自动化测试执行到提交所述用户个人信息至服务器之后,会调用日志过滤器获取所述当前测试步骤的测试结果。
调用模块203用于调用日志过滤器获取所述当前测试步骤的测试结果。
现有技术中,UI自动化测试过程中涉及到前后两个测试步骤的操作数据之間具有强关联性,即后一测试步骤的自动化操作需要依赖前一测试步骤的自动化操作的测试结果,但前一步自动化操作的测试结果不能直接从UI层获取。故需采用本方案中的调用日志过滤器获取所述当前测试步骤的测试结果。
在本实施方式中,所述调用日志过滤器获取所述当前测试步骤的测试结果包括:
1)查看服务器中测试的日志记录;
在本实施方式中,通过日志查看命令可以浏览日志记录。
2)根据所述输入信息中的关键词从所述日志记录中获取与所述关键词相关的日志。在本实施方式中,可以通过Linux grep/sed/awk对所述日志记录进行分析。
在本实施方式中,可以通过linux grep语句从所述日志记录中获取与所述关键词相关的日志,再通过linux sed精简日志内容,通过linux awk对获取的相关日志进行分析并生成报告。
awk是一个强大的文本分析工具,awk可以对所述日志进行逐行的读入,以空格为默认分隔符将所述日志中的每行切片,切开的部分再进行各种分析处理。linux awk支持两种方式的调用,一种是把awk脚本直接在命令行写入,第二种是把awk写在文件中在命令行中调用。
所述linux sed可以精简日志内容。例如,当不需要日志时间,或者要把当前日志时间的格式换个形式展示等等,这时候就可以通过sed的替换命令来进行对日志文件的修改和提取了。
3)重新封装所述与所述关键词相关的日志记录并以特定格式返回至日志过滤器。
在本实施方式中,通过Respnsedata对所述与所述关键词相关的日志记录进行封装。再将封装后的日志记录以json格式返回至日志过滤器,从而可以通过日志过滤器调用就直接获取所述当前测试步骤的有效信息,所述有效信息就是当前测试步骤的测试结果。
所述json(JavaScript Object Notation)是一种数据交互格式。
在本实施方式中,在调用日志过滤器获取所述当前测试步骤的测试结果之前,所述UI自动化测试方法还包括提取所述预存的输入信息中的关键词的步骤。通过提取的关键词来确定所述预存的输入信息。所述关键词的数量是不限的,通常实际使用的时候,提取3个左右的关键词就足够标识唯一的一个用户或一条预存的输入信息,同时所有的关键词之间的逻辑关系是“与”的关系,需要同时满足。
在本实施方式中,提取所述预存的输入信息中的关键词的方法包括:基于统计信息的关键词自动提取方法、基于机器学习的关键词自动提取方法和基于语义分析的关键词自动提取方法。
所述基于统计信息的关键词自动提取算法通过输入信息对应的文本的词汇特征信息或文本中的词汇来构建网络,然后根据词汇的出现频率、分布位置等信息进行统计计算,来获取文本的关键词。例如基于词频、复杂网络特征等。
所述基于机器学习的关键词自动提取算法的基本思想将关键词提取问题视为二元分类问题,在训练阶段根据提取关键词的特征构建关键词分类模型,然后在分类阶段基于模型从文本中抽取词并判断该词是否为关键词,如基于Bayes的方法、基于SVM的方法等。
所述基于语义的关键词自动提取算法从语义的角度分析词语的关键性,与用户的感知逻辑思维比较符合。主要运用语义词典或者词汇链方法来获取词汇间的语义只是来提取文本关键词。
上述提取关键词的算法不限于上述列举的,任何适应于提取关键词的算法均可应用于此。
比对模块204用于比对所述测试结果与预存的输入信息是否一致。
在本实施方式中,所述预存的输入信息为用户当前测试步骤所需的准确信息。例如,登录界面所需的准确的用户名和密码。
所述比对所述测试结果与预存的输入信息是否一致的方法包括:
比对所述测试结果是否存在与所述预存的输入信息一致的关键词,当所述测试结果中存在所述预存的输入信息中所有的关键词时,说明服务器验证所述输入信息无误;当所述测试结果不存在所述输入信息中的关键词时,说明服务器验证所述输入信息有误,再次获取当前测试步骤的输入信息,从而可以重新验证所述输入信息。
第二处理模块205用于当所述测试结果与预存的输入信息一致时,执行下一测试步骤。
具体地,当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,可以执行下一测试步骤,以继续执行所述页面测试流程。
所述判断模块206用于判断所述测试用例模板中各个测试步骤是否都执行完的步骤。当所述测试用例模板中各个测试步骤都执行完成,则确认所述页面测试已完成,结束流程;当测试用例模板中还有测试步骤未执行时,则执行下一测试步骤,直到所有测试步骤都执行完。
综上所述,本发明所述的UI自动化测试的装置20,包括第一处理模块201、获取模块202、调用模块203、比对模块204、第二处理模块205及判断模块206。所述的UI自动化测试的装置20按序执行用于页面测试的测试用例模板中各个测试步骤;获取当前测试步骤的输入信息;调用日志过滤器获取所述当前测试步骤的测试结果;比对所述测试结果与预存的输入信息是否一致;及当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,执行下一测试步骤;判断所述测试用例模板中各个测试步骤是否都执行完,当所述测试用例模板中各个测试步骤都执行完成,确认所述页面测试已完成。实现了通过根据前一步自动化测试的相关关键词,在后一步自动化测试前调用一个获取前一步自动化测试结果的日志过滤器,通过所述日志过滤器获取前一步自动化测试的测试结果,并根据该测试结果执行后一步自动化测试,从而让自动化测试顺利执行,提高自动化测试的测试效率。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
实施例三
图3为本发明实施例三提供的电子设备的示意图。
所述电子设备3包括:存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
所述至少一个处理器32执行所述计算机程序33时实现上述UI自动化测试方法实施例中的步骤。
示例性的,所述计算机程序33可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述至少一个处理器32执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序33在所述电子设备3中的执行过程。
所述电子设备3可以是手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备、总线等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器32可以是微处理器或者所述处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应所述理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。
Claims (7)
1.一种UI自动化测试方法,其特征在于,所述方法包括:
a)按序执行用于页面测试的测试用例模板中各个测试步骤;
b)获取当前测试步骤的输入信息;
c)提取预存的输入信息中的关键词,调用日志过滤器获取所述当前测试步骤的测试结果,包括:查看服务器中测试的日志记录,根据所述输入信息中的关键词从所述日志记录中获取与所述关键词相关的日志,重新封装所述与所述关键词相关的日志记录并以特定格式返回至所述日志过滤器,通过所述日志过滤器获取所述当前测试步骤的有效信息,所述有效信息为所述当前测试步骤的测试结果,其中,所述特定格式为json格式;
d)比对所述测试结果与预存的输入信息是否一致,包括:所述预存的输入信息为所述当前测试步骤的准确信息,提取所述预存的输入信息的关键词,比对所述测试结果是否存在与所述预存的输入信息一致的关键词,当所述测试结果中存在所述预存的输入信息中所有的关键词时,确认所述输入信息无误,当所述测试结果不存在所述输入信息中的关键词时,确认所述输入信息有误;及
e)当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,执行下一测试步骤;
f)判断所述测试用例模板中各个测试步骤是否都执行完,当所述测试用例模板中各个测试步骤都执行完成,确认所述页面测试已完成;
g)当所述测试结果与预存的输入信息不一致时,则继续执行上述b)至f)。
2.如权利要求1所述的UI自动化测试方法,其特征在于,提取所述预存的输入信息中的关键词的方法包括:基于统计信息的关键词自动提取方法、基于机器学习的关键词自动提取方法和基于语义分析的关键词自动提取方法。
3.如权利要求1所述的UI自动化测试方法,其特征在于,所述测试用例模板用于测试应用程序的界面,其中,所述应用程序的界面包括窗口、工具条、输入内容、菜单项、页面布局、图标、界面按钮、时间控件、界面文字、界面信息提示及鼠标和快捷键测试。
4.如权利要求3所述的UI自动化测试方法,其特征在于,所述输入信息与测试用例模板中应用程序的界面内容相关。
5.一种UI自动化测试的装置,其特征在于,所述装置包括:
第一处理模块,用于按序执行用于页面测试的测试用例模板中各个测试步骤;
获取模块,用于获取当前测试步骤的输入信息;
调用模块,用于提取预存的输入信息中的关键词,调用日志过滤器获取所述当前测试步骤的测试结果,包括:查看服务器中测试的日志记录,根据所述输入信息中的关键词从所述日志记录中获取与所述关键词相关的日志,重新封装所述与所述关键词相关的日志记录并以特定格式返回至所述日志过滤器,通过所述日志过滤器获取所述当前测试步骤的有效信息,所述有效信息为所述当前测试步骤的测试结果,其中,所述特定格式为json格式;
比对模块,用于比对所述测试结果与预存的输入信息是否一致,包括:所述预存的输入信息为所述当前测试步骤的准确信息,提取所述预存的输入信息的关键词,比对所述测试结果是否存在与所述预存的输入信息一致的关键词,当所述测试结果中存在所述预存的输入信息中所有的关键词时,确认所述输入信息无误,当所述测试结果不存在所述输入信息中的关键词时,确认所述输入信息有误;
第二处理模块,用于当所述测试结果与预存的输入信息一致时,确认所述输入信息无误,执行下一测试步骤;及
判断模块,用于判断所述测试用例模板中各个测试步骤是否都执行完,当所述测试用例模板中各个测试步骤都执行完成,确认所述页面测试已完成。
6.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至4中任意一项所述的UI自动化测试方法。
7.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任意一项所述的UI自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537732.9A CN109828906B (zh) | 2018-12-15 | 2018-12-15 | Ui自动化测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537732.9A CN109828906B (zh) | 2018-12-15 | 2018-12-15 | Ui自动化测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828906A CN109828906A (zh) | 2019-05-31 |
CN109828906B true CN109828906B (zh) | 2023-07-04 |
Family
ID=66858912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811537732.9A Active CN109828906B (zh) | 2018-12-15 | 2018-12-15 | Ui自动化测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828906B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463573A (zh) * | 2019-09-06 | 2021-03-09 | 北京字节跳动网络技术有限公司 | 测试应用的方法、装置、终端及存储介质 |
CN110941546A (zh) * | 2019-10-12 | 2020-03-31 | 平安健康保险股份有限公司 | Web页面用例的自动化测试方法、装置、设备及存储介质 |
CN111352784B (zh) * | 2020-02-29 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种生产测试的方法、装置、设备及可读介质 |
CN112540916A (zh) * | 2020-11-30 | 2021-03-23 | 的卢技术有限公司 | 失败用例自动重跑方法、装置、计算机设备和存储介质 |
CN113377650B (zh) * | 2021-06-09 | 2022-06-21 | 重庆紫光华山智安科技有限公司 | 自动化测试用例运行方法、装置、测试设备及存储介质 |
CN116955207A (zh) * | 2023-09-18 | 2023-10-27 | 中国兵器装备集团兵器装备研究所 | 识别测试用例完成软硬件的自动化测试方法、系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197021A (zh) * | 2017-12-28 | 2018-06-22 | 深圳市彬讯科技有限公司 | 一种web系统自动化测试方法、装置、设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767453A (zh) * | 2004-10-31 | 2006-05-03 | 中兴通讯股份有限公司 | 自动测试方法和系统 |
US20070006037A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Automated test case result analyzer |
WO2010116586A1 (ja) * | 2009-03-30 | 2010-10-14 | 株式会社野村総合研究所 | 動作検証装置、動作検証方法、および動作検証システム |
US8966447B2 (en) * | 2010-06-21 | 2015-02-24 | Apple Inc. | Capturing and displaying state of automated user-level testing of a graphical user interface application |
CN102880535B (zh) * | 2012-07-24 | 2015-10-28 | 播思通讯技术(北京)有限公司 | 一种用于移动设备的无线自动化测试装置及方法 |
US20160004628A1 (en) * | 2014-07-07 | 2016-01-07 | Unisys Corporation | Parallel test execution framework for multiple web browser testing |
CN105630685A (zh) * | 2016-01-29 | 2016-06-01 | 广州酷狗计算机科技有限公司 | 程序接口测试方法及装置 |
CN106294162B (zh) * | 2016-08-12 | 2019-03-05 | 江苏大学 | 一种基于数据挖掘的第三方构件安全性测试方法 |
CN107908551A (zh) * | 2017-10-27 | 2018-04-13 | 中国平安人寿保险股份有限公司 | 终端软件测试方法、装置、终端和计算机存储介质 |
CN108491326B (zh) * | 2018-03-21 | 2024-02-02 | 重庆金融资产交易所有限责任公司 | 测试行为重组方法、装置及存储介质 |
CN108628746A (zh) * | 2018-05-04 | 2018-10-09 | 艺龙网信息技术(北京)有限公司 | 接口自动化测试方法与系统 |
CN108763091B (zh) * | 2018-05-31 | 2022-05-27 | 恒生电子股份有限公司 | 用于回归测试的方法、装置及系统 |
CN108984418B (zh) * | 2018-08-22 | 2023-04-11 | 中国平安人寿保险股份有限公司 | 软件测试管理方法、装置、电子设备及存储介质 |
-
2018
- 2018-12-15 CN CN201811537732.9A patent/CN109828906B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197021A (zh) * | 2017-12-28 | 2018-06-22 | 深圳市彬讯科技有限公司 | 一种web系统自动化测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109828906A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828906B (zh) | Ui自动化测试方法、装置、电子设备及存储介质 | |
CN110275834B (zh) | 用户界面自动化测试系统及方法 | |
US20210011595A1 (en) | Terminal and method for determining type of input method editor | |
US20170351371A1 (en) | Touch interaction based search method and apparatus | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
US20190147104A1 (en) | Method and apparatus for constructing artificial intelligence application | |
CN114490395A (zh) | 测试处理方法、装置、设备及介质 | |
WO2016155643A1 (zh) | 一种基于输入的显示候选词的方法和装置 | |
CN111782758A (zh) | 基于cad的图纸审查结果查看方法及相关装置 | |
CN113011169A (zh) | 一种会议纪要的处理方法、装置、设备及介质 | |
CN111859933A (zh) | 马来语识别模型的训练方法、识别方法、装置、设备 | |
CN111949356A (zh) | 弹窗处理方法、装置及电子设备 | |
WO2023115831A1 (zh) | 应用程序的测试方法、装置、电子设备及存储介质 | |
CN107168627B (zh) | 用于触摸屏的文本编辑方法和装置 | |
CN107071553B (zh) | 一种修改视频语音的方法、装置和计算机可读存储介质 | |
CN112509581B (zh) | 语音识别后文本的纠错方法、装置、可读介质和电子设备 | |
CN110221756B (zh) | 处理应用数据的方法、装置、终端及存储介质 | |
CN113515280A (zh) | 页面代码生成方法、装置 | |
CN113569741A (zh) | 图像试题的答案生成方法、装置、电子设备及可读介质 | |
CN110619038A (zh) | 一种垂直引导专业咨询的方法、系统及电子设备 | |
CN110851349A (zh) | 页面异常显示的检测方法、终端设备及存储介质 | |
CN111913563A (zh) | 一种基于半监督学习的人机交互方法及装置 | |
CN113094286B (zh) | 页面测试方法和装置、存储介质和电子设备 | |
US11886530B2 (en) | Systems and methods for website segmentation and quality analysis | |
CN111562864B (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 |