CN106776319A - 自动测试方法及装置 - Google Patents
自动测试方法及装置 Download PDFInfo
- Publication number
- CN106776319A CN106776319A CN201611163580.1A CN201611163580A CN106776319A CN 106776319 A CN106776319 A CN 106776319A CN 201611163580 A CN201611163580 A CN 201611163580A CN 106776319 A CN106776319 A CN 106776319A
- Authority
- CN
- China
- Prior art keywords
- automatic test
- positioning
- ios
- test script
- page element
- 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
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
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
本公开揭示了一种自动测试方法及装置,属于软件测试领域。该方法包括:获取自动化测试脚本;当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识;当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位该底层定位路径所指示的动态页面元素;对定位到的静态页面元素和/或动态页面元素进行测试。本公开利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免遍历并构建元素树,提高自动化测试的效率。
Description
技术领域
本公开涉及软件测试领域,特别涉及一种自动测试方法及装置。
背景技术
Appium框架是一种用于对应用程序进行UI(User Interface,用户界面)测试的自动化测试框架,适用于Android(安卓)平台及iOS(苹果公司开发的移动操作系统)平台。
现有技术中,Appium框架根据自动化测试脚本向iOS设备发送测试指令后,iOS设备遍历iOS应用UI中各个页面元素,并构建UI对应的元素树,从而基于该元素树执行测试指令所指示的测试操作。比如,当需要对UI中的目标页面元素进行定位时,Appium框架向iOS设备发送携带有目标页面元素对应XPath(XML路径)的测试指令,iOS设备接收到该测试指令后,即根据测试指令中包含的XPath,在元素树对应的XML(Extensible MarkupLanguage,可扩展标记语言)数据中查找目标页面元素,从而定位目标页面元素在UI中所处的位置,并对该目标页面元素进行测试。
然而,iOS设备构建元素树并根据XPath定位页面元素需要花费大量时间,导致自动化测试的执行时间较长,影响自动化测试的效率。
发明内容
为了解决iOS设备构建元素树并根据XPath定位页面元素需要花费大量时间,导致自动化测试的执行时间较长,影响自动化测试效率的问题,本公开提供一种自动测试方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种自动测试方法,该方法包括:
获取自动化测试脚本;
当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID(identity,身份)标识,iOS设备用于根据ID标识定位静态页面元素;
当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位底层定位路径所指示的动态页面元素;
对定位到的静态页面元素和/或动态页面元素进行测试。
可选的,当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,包括:
当检测到自动化测试脚本中包含预设标识字段时,确定自动化测试脚本用于定位静态页面元素,预设标识字段为accesibility_id或identifier;
从自动化测试脚本中获取预设标识字段对应的ID标识;
通过Appium框架向iOS设备发送包含预设标识字段和ID标识的第一定位指令;
其中,同一UI中,不同静态页面元素对应的ID标识互不相同。
可选的,底层定位路径为ios uiautomation路径,底层驱动为iOS UIAutomation;
当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,包括:
当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios;
从自动化测试脚本中获取预设定位关键字对应的ios uiautomation路径;
通过Appium向iOS设备发送包含预设定位关键字和ios uiautomation路径的第二定位指令,iOS设备用于在识别出第二定位指令中包含该预设定位关键字时,通过iOSUIAutomation定位ios uiautomation路径所指示的动态页面元素。
可选的,获取自动化测试脚本之后,还包括:
当自动化测试脚本指示对UI进行页面文本校验时,获取自动化测试脚本中包含的检验字符串,校验字符串中包含至少两个目标校验文本;
提取校验字符串中包含的各个目标校验文本,各个目标校验文本之间通过预定分隔符进行分隔;
通过运行Appium源码库中的自定义文本校验代码,检测UI中是否包含各个目标待校验文本,自定义文本校验代码用于同时对至少两个校验文本进行校验。
可选的,自定义文本校验代码存储在Appium源码库的_element.py文件中。
根据本公开实施例的第二方面,提供一种自动测试装置,该装置包括:
第一获取模块,用于获取自动化测试脚本;
第一定位模块,用于当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识,iOS设备用于根据ID标识定位静态页面元素;
第二定位模块,用于当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位底层定位路径所指示的动态页面元素;
测试模块,用于对定位到的静态页面元素和/或动态页面元素进行测试。
可选的,第一定位模块,包括:
第一确定单元,用于当检测到自动化测试脚本中包含预设标识字段时,确定自动化测试脚本用于定位静态页面元素,预设标识字段为accesibility_id或identifier;
第一获取单元,用于从自动化测试脚本中获取预设标识字段对应的ID标识;
第一发送单元,用于通过Appium向iOS设备发送包含预设标识字段和ID标识的第一定位指令;
其中,同一UI中,不同静态页面元素对应的ID标识互不相同。
可选的,底层定位路径为ios uiautomation路径,底层驱动为iOS UIAutomation;
第二定位模块,包括:
第二确定单元,用于当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios;
第二获取单元,用于从自动化测试脚本中获取预设定位关键字对应的iosuiautomation路径;
第二发送单元,用于通过Appium向iOS设备发送包含预设定位关键字和iosuiautomation路径的第二定位指令,iOS设备用于在识别出第二定位指令中包含的预设定位关键字时,通过iOS UIAutomation定位ios uiautomation路径所指示的动态页面元素。
该装置,还包括:
第二获取模块,用于当自动化测试脚本指示对UI进行页面文本校验时,获取自动化测试脚本中包含的检验字符串,校验字符串中包含至少两个目标校验文本;
提取模块,用于提取校验字符串中包含的各个目标校验文本,各个目标校验文本之间通过预定分隔符进行分隔;
检测模块,用于通过运行Appium源码库中的自定义文本校验代码,检测UI中是否包含各个目标待校验文本,自定义文本校验代码用于同时对至少两个校验文本进行校验。
可选的,自定义文本校验代码存储在Appium源码库的_element.py文件中。
本公开实施例提供的技术方案可以包括以下有益效果:
通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS设备遍历并构建元素树,进而缩短了自动化测试的执行时间,提高了自动化测试的效率。
本发明实施例中,通过在Appium源码库中添加支持多文本校验的自定义文本校验代码,使得自动化测试终端能够根据该自定义文本校验代码同时对多个目标待校验文本进行校验,解决了现有技术中每次只能对单个目标待校验文本进行校验,导致在多个目标待校验文本进行校验时,需要重复获取页面资源,影响文本校验速度的问题,达到了在进行多目标待校验文本校验时,只需获取一次页面资源,从而提高了文本校验的速度。
同时,本发明实施例中,自动化测试脚本的脚本代码更加简洁,降低了测试人员编写自动化测试脚本的难度,提高了脚本代码的可读性,有利于后期进行测试脚本维护。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种自动测试方法的流程图;
图2A是根据另一示例性实施例示出的一种自动测试方法的流程图;
图2B是UI中静态页面元素和动态页面元素的示意图;
图2C是根据另一示例性实施例示出的一种自动测试方法的流程图;
图3是根据一示例性实施例示出的一种自动测试装置的框图;
图4是根据另一示例性实施例示出的一种自动测试装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开各个实施例提供的自动测试方法应用于安装有Appium框架的自动化测试终端中,该自动化测试终端可以为个人计算机或服务器。自动化测试终端对iOS应用进行测试时,即通过Appium框架向iOS设备发送测试指令,由iOS设备根据测试指令控制iOS应用执行相应的测试。其中,该iOS设备为运行有iOS系统的电子设备(比如智能手机、平板电脑等等)或iOS虚拟机,本公开实施例并不对iOS设备的具体表现形式进行限定。为了方便描述,下述各个实施例均以自动测试方法用于自动化测试终端为例进行说明。
图1是根据一示例性实施例示出的一种自动测试方法的流程图,本实施例以该自动测试方法用于自动化测试终端为例进行说明,该方法包括如下步骤:
步骤101,获取自动化测试脚本。
可选的,测试人员将预先编写的自动化测试脚本导入自动化测试终端中,以便自动化测试终端中的Appium框架能够获取该自动化测试脚本。
其中,该自动化测试脚本采用Python、Java或C#等语言编写,本公开实施例并不对编写自动化测试脚本所采用的语言进行限定。
步骤102,当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识,iOS设备用于根据ID标识定位静态页面元素。
静态页面元素指UI中显示位置及显示内容均不会发生变更的页面元素,比如,该静态页面元素为UI中各个菜单选项或功能模块对应的tab(标签)元素。
UI中的各个静态页面元素包含各自对应的ID标识,其中,该ID标识通过accesibility_id或identifier字段进行标识,且同一UI中各个静态页面元素各自对应的ID标识互不相同。
相应的,由于ID标识的唯一性,iOS设备接收到第一定位指令后,即可直接根据第一定位指令中包含的ID标识定位相应的静态页面元素,而不再需要构建元素树并根据XPath在元素树中定位静态页面元素,从而提高了定位静态页面元素的速度。
步骤103,当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位该底层定位路径所指示的动态页面元素。
动态页面元素指UI中动态生成或显示内容会发生变更的页面元素,比如,该静态页面元素为显示实时更新数据的列表或表单元素。
iOS设备的底层驱动支持根据底层定位路径进行页面元素定位,因此,当需要对UI中的动态页面元素进行定位时,测试人员将动态页面元素对应的底层定位路径编写到自动化测试脚本中,并使用预设定位关键字对其进行标识。
可选的,该底层驱动为iOS UIAutomation,该底层定位路径即为iOSUIAutomation路径。
可选的,该底层定位路径由测试人员手动录入,或,由自动化测试终端根据动态页面元素对应的XPath转换得到。
与现有技术中利用XPath进行定位不同,根据底层定位路径定位动态页面元素时,iOS设备绕过遍历构建元素树的步骤,直接在底层驱动的驱动下,利用底层定位路径定位动态页面元素,从而提高了定位动态页面元素的效率。
可选的,UI中的静态页面元素也包含对应的底层定位路径,自动化测试终端也可以根据静态页面元素的底层定位路径对其进行定位。
通过上述方法,只需根据页面元素的ID标识或底层定位路径即可实现页面元素定位,从而取代现有技术中利用XPath进行页面元素定位,提高了自动化测试的效率,并降低测试人员编写自动化测试脚本的难度。
步骤104,对定位到的静态页面元素和/或动态页面元素进行测试。
根据自动化测试脚本定位到UI中的静态页面元素及动态页面元素后,自动化测试终端进一步对各个页面元素进行功能性测试。
可选的,自动化测试终端根据自动化测试脚本中的功能测试脚本代码,通过Appium框架向iOS设备发送相应的功能测试指令,以便iOS设备根据该功能测试指令对定位到的页面元素进行单击、拖动、长按等功能性测试。
可选的,iOS设备根据功能测试指令执行相应操作后,截取完成操作时的画面并反馈给自动化测试终端,以便测试人员根据截取的画面对操作结果进行准确性校验。
综上所述,本实施例提供的自动测试方法,通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS设备遍历并构建元素树,进而缩短了自动化测试的执行时间,提高了自动化测试的效率。
图2A是根据另一示例性实施例示出的一种自动测试方法的流程图,本实施例以该自动测试方法用于自动化测试终端为例进行说明,该方法包括如下步骤:
步骤201,获取自动化测试脚本。
测试人员对iOS应用进行测试前,预先根据测试需求编写相应的自动化测试脚本,并将该自动化测试脚本导入自动化测试终端中,使得自动化测试终端中的Appium框架能够根据该自动化测试脚本指示iOS应用执行相应的测试操作。其中,该自动化测试脚本用于对UI中的静态或动态页面元素进行测试。
现有技术中,不论是对静态还是动态页面元素进行测试,测试人员都需要将待测试页面元素对应的XPath编写到自动化测试脚本中,以便Appium框架向iOS设备发送测试指令后,iOS设备能够根据测试指令中包含的XPath在元素树中定位待测试页面元素。
而本公开实施例中,为了使iOS设备绕过构建元素树(以及生成相应XML数据)的过程,测试人员编写的自动化测试脚本中不包含待测试页面元素的XPath,相应的,通过Appium框架向iOS设备发送的测试指令中也不包含XPath。
针对不同类型的待测试页面元素,测试人员在自动化测试脚本中使用不同的方式对其进行标识。可选的,针对静态页面元素,采用预设标识字段的方式对其进行标识;针对动态页面元素,则采用预设定位关键字对其进行标识。
相应的,自动化测试终端根据自动化测试脚本中包含的标识确定待测试页面元素的类型,并在自动化测试脚本指示对iOS应用中的静态页面元素进行定位时,利用Appium框架通过下述步骤202至204向iOS设备发送第一定位指令;在自动化测试脚本指示对iOS应用中的动态页面元素进行定位时,利用Appium框架通过下述步骤205至207向iOS设备发送第二定位指令。
步骤202,当检测到自动化测试脚本中包含预设标识字段时,确定自动化测试脚本用于定位静态页面元素,预设标识字段为accesibility_id或identifier。
如图2B所示,iOS应用的UI中包括位于UI底部的4个tab元素21(静态页面元素),由于各个tab元素21显示的内容及位置均不会发生变化,因此,当需要对某一tab元素21进行定位时,测试人员在编写的自动化测试脚本中设置tab元素21对应的ID标识,以便后续Appium框架指示iOS设备根据该ID标识定位相应的tab元素21。其中,为了区分不同的静态页面元素,同一UI中各个静态页面元素对应的ID标识互不相同。比如,图2B中,4个tab元素21对应的ID标识分别为“首页”、“直播”、“关注”和“我的”(从左至右)。
在一种可能的实施方式中,针对用于定位静态页面元素的自动化测试脚本,测试人员在自动化测试脚本中设置accesibility_id或identifier字段,并将待测试静态页面元素的ID标识设置为accesibility_id或identifier字段的值。相应的,自动化测试终端检测到自动化测试脚本中包含accesibility_id或identifier字段时,即确定该自动化测试脚本用于对静态页面元素进行定位。
示意性的,如图2B所示,当需要对UI中的tab元素“直播”进行测试时,自动化测试终端获取到的自动化测试脚本的脚本代码为:Click Element Wait accessibility_id=直播,或,Click Element Wait identifier=直播(#指示查找并点击tab元素“直播”)。
而现有技术中,当需要对UI中的tab元素“直播”进行测试时,自动化测试脚本的脚本代码为:Click Element Wait xpath=//UIAApplication[1]/UIAWindow[1]/UIATabBar[1]/UIButton[2]。显然,与现有技术相比,本实施例在定位静态页面元素时,测试人员编写的自动化测试脚本的脚本代码量较少,且编写难度较低。
步骤203,从自动化测试脚本中获取预设标识字段对应的ID标识。
当检测到自动化测试脚本中包含预设标识字段时,自动化测试终端进一步获取该预设标识字段对应的ID标识。
可选的,当检测到自动化测试脚本中包含accesibility_id(或identifier)字段时,自动化测试终端获取accesibility_id(或identifier)字段对应的值,并将获取到的值确定为待测试静态页面元素的ID标识。比如,结合上述脚本代码示例,自动化测试终端确定待测试静态页面元素的ID标识为“直播”。
步骤204,通过Appium框架向iOS设备发送包含预设标识字段和ID标识的第一定位指令。
获取到待测试静态页面元素的ID标识后,Appium框架生成包含预设标识字段以及对应ID标识的第一定位指令,并将该第一定位指令发送至iOS设备。
相应的,iOS设备接收到第一定位指令后,根据第一定位指令中包含的预设标识字段即知悉需要对静态页面元素进行定位,并进一步根据预设标识字段对应的ID标识对其进行定位。
需要说明的是,静态页面元素的name、value或label都可以采用accesibility_id或identifier字段的方式(即使用ID标识)进行定位,本实施例在此不再赘述。
步骤205,当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios。
如图2B所示,iOS应用的UI中包括实时更新的表单,且该表单中包含若干个表单元素22(动态页面元素)。由于表单元素22的显示内容会发生变化,若仍旧根据表单元素22的显示内容并采用accesibility_id或identifier字段的方式进行定位,显示内容的变化将导致表单元素定位错误。比如,当需要定位右上角的表单元素时,若以“accesibility_id=B主播”进行定位,当B主播对应显示内容的位置发生变更(比如B主播对应显示内容移动至左上角的表单元素中)时,将无法准确定位到右上角的表单元素。
为了避免利用accesibility_id或identifier字段定位动态页面元素时发生定位错误,自动化测试终端利用ios uiautomation路径(底层定位路径)取代现有的XPath对动态页面元素进行定位。
在一种可能的实施方式中,针对用于定位动态页面元素的自动化测试脚本,测试人员在自动化测试脚本中设置预设定位关键字,并将待测试动态页面元素对应的底层定位路径添加到自动化测试脚本中。相应的,自动化测试终端检测到自动化测试脚本中包含预设定位关键字时,即确定该自动化测试脚本用于对动态页面元素进行定位,其中,该预设关键字为ios。
示意性的,如图2B所示,当需要对UI中右上角的表单元素进行测试时,自动化测试脚本的脚本代码为:Click Element Wait ios=.ScrollViews()[1].collectionViews()[0].cells()[1](#指示查找并点击UI中第二个ScrollViews的第一个collectionViews中包含的第二个cell)。自动化测试终端根据关键词ios即可获取到待测试动态页面元素对应的ios uiautomation路径。
而现有技术中,当需要对UI中的右上角的表单元素进行测试时,自动化测试脚本的脚本代码为:Click Element Wait xpath=//UIAApplication[1]/UIAWindo w[1]/UIAScrollView[2]/UIACollectionView[1]/UIACollectionCell[2]。显然,与现有技术中利用XPath定位相比,本实施在定位动态页面元素时,测试人员编写的自动化测试脚本的脚本代码量较少,且编写难度较低。
步骤206,从自动化测试脚本中获取预设定位关键字对应的ios uiautomation路径。
当检测到自动化测试脚本中包含预设定位关键字时,自动化测试终端进一步获取该预设定位关键字对应的ios uiautomation路径。
在其他可能的实施方式中,当获取到的自动化测试脚本中包含关键词XPath时(即采用XPath定位),自动化测试终端可以根据XPath与ios uiautomation路径之间的映射关系将该XPath转换为ios uiautomation路径,本公开并不对此进行限定。
步骤207,通过Appium框架向iOS设备发送包含预设定位关键字和iosuiautomation路径的第二定位指令。
获取到待测试动态页面元素的ios uiautomation路径后,Appium框架生成包含预设定位关键字(即ios)以及对应ios uiautomation路径的第二定位指令,并将该第二定位指令发送至iOS设备。
相应的,iOS设备接收到第二定位指令后,根据第二定位指令中包含的预设定位关键字即知悉需要对动态页面元素进行定位,并进一步通过底层驱动iOS UIAutomation定位ios uiautomation路径所指示的动态页面元素。
与现有技术相比,本实施例中,iOS设备利用底层驱动iOS UIAutomation进行定位能够绕过遍历构建元素树的逻辑,并直接利用底层引擎定位动态页面元素,从而缩短了动态页面元素的定位时长。
需要说明的是,对于UI中的静态页面元素,测试人员也可以将静态页面元素对应的ios uiautomation路径写入测试脚本中,从而利用该ios uiautomation路径实现静态页面元素定位,示意性的,如图2B所示,利用ios uiautomation路径定位tab元素“直播”的脚本代码如下:Click Element Wait ios=.tabBars()[0].buttons()[1]。
通过上述步骤202至207,在对iOS应用UI中的静态或动态页面元素进行定位时,iOS设备无需遍历构建元素树,且无需根据XPath在元素树对应的XML数据中定位页面元素,极大的缩短了自动化测试脚本的执行时长,显著提高iOS应用的测试效率;同时,自动化测试脚本的脚本代码更加简洁,降低了测试人员编写自动化测试脚本的难度,提高了脚本代码的可读性。
步骤208,对定位到的静态页面元素和/或动态页面元素进行测试。
本步骤的实施方式与上述步骤104相似,本实施例在此不再赘述。
综上所述,本实施例提供的自动测试方法,通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS设备遍历并构建元素树,进而缩短了自动化测试的执行时间,提高了自动化测试的效率。
在实际测试过程中,自动化测试终端不仅需要对UI进行页面元素定位,还需要对UI进行页面文本校验。
现有技术中,Appium源码库的_element.py文件中包含单文本校验方法,其中,单文本校验方法的代码如下:
显然,通过上述代码仅能够对单文本进行校验,当需要同时对多文本进行校验时,自动化测试终端需要重复执行上述方法,并在每次执行过程中获取一次完整页面资源,由于每次获取页面资源需要花费较长时间,导致多文本校验的效率较低。
为了提高多文本校验的效率,本公开实施例中,通过对Appium源码库进行二次开发,在_element.py文件中新增支持多文本校验的自定义文本校验代码,并通过运行该自定义文本校验代码实现多文本同时校验,以此提高多文本校验的效率。可选的,如图2C所示,上述步骤201之后,还包括如下步骤。
步骤209,当自动化测试脚本指示对UI进行页面文本校验时,获取自动化测试脚本中包含的检验字符串,校验字符串中包含至少两个目标校验文本。
现有技术中,由于Appium源码库的_element.py文件中仅包含单文本校验方法,因此,当需要对多文本进行校验时,测试人员编写的测试脚本中需要包含多条脚本语句,示意性的,如图2B所示,当需要检验UI中是否包含文本“全部”、“红人”、“本地”、“女神”和“男神”时,自动化测试脚本的脚本代码为:
Page Should Contain Text全部
Page Should Contain Text红人
Page Should Contain Text本地
Page Should Contain Text女神
Page Should Contain Text男神
而经过二次开发后,由于Appium源码库的_element.py文件包含多文本校验方法,测试人员在编写测试脚本时,可以将多个目标校验文本进行聚合,从而生成相应的检验字符串,并将该校验字符串添加到测试脚本中。
示意性的,自动化测试终端获取到的自动化测试脚本的脚本代码为:
Page Should Contains Text Multi全部;红人;本地;女神;男神。
步骤210,提取校验字符串中包含的各个目标校验文本,各个目标校验文本之间通过预定分隔符进行分隔。
自动化测试终端获取到的校验字符串中,各个目标检验文本之间通过预定分隔符进行分隔,相应的,自动化测试终端通过识别该字符串中的预定分隔符,提取字符串中包含的各个目标校验文本。其中,该预定分隔符可以为“,”、“;”、“-”等等,本实施例并不对预定分隔符的类型进行限定。
步骤211,通过运行Appium源码库中的自定义文本校验代码,检测UI中是否包含各个目标待校验文本,自定义文本校验代码用于同时对至少两个校验文本进行校验。
在一种可能的实施方式中,自动化测试终端获取各个目标检验文本以及iOS设备返回的页面资源(遍历UI所得到资源,包含页面中显示的各个文本),并以目标检验文本和页面资源为输入,通过运行自定义文本校验代码对各个目标校验文本进行校验,从而输入相应的校验结果。
示意性的,Appium源码库中的自定义文本校验代码如下。
可见,通过运行上述自定义文本校验代码,自动化测试终端能够同时对多个目标待校验文本进行校验,且只需要获取一次页面资源,在时间效率上远优于现有的单文本校验。
本实施例中,通过在Appium源码库中添加支持多文本校验的自定义文本校验代码,使得自动化测试终端能够根据该自定义文本校验代码同时对多个目标待校验文本进行校验,解决了现有技术中每次只能对单个目标待校验文本进行校验,导致在多个目标待校验文本进行校验时,需要重复获取页面资源,影响文本校验速度的问题,达到了在进行多目标待校验文本校验时,只需获取一次页面资源,从而提高了文本校验的速度。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是根据一示例性实施例示出的一种自动测试装置的框图,该装置可以通过软件、硬件或软硬件结合实现成为自动化测试终端的全部或一部分,该装置包括:
第一获取模块310,用于获取自动化测试脚本;
第一定位模块320,用于当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识,iOS设备用于根据ID标识定位静态页面元素;
第二定位模块330,用于当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位该底层驱动路径所指示的动态页面元素;
测试模块340,用于对定位到的静态页面元素和/或动态页面元素进行测试。
综上所述,本实施例提供的自动测试装置,通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS设备遍历并构建元素树,进而缩短了自动化测试的执行时间,提高了自动化测试的效率。
图4是根据另一示例性实施例示出的一种自动测试装置的框图,该装置可以通过软件、硬件或软硬件结合实现成为自动化测试终端的全部或一部分,该装置包括:
第一获取模块410,用于获取自动化测试脚本;
第一定位模块420,用于当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识,iOS设备用于根据ID标识定位静态页面元素;
第二定位模块430,用于当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位底层定位路径所指示的动态页面元素;
测试模块440,用于对定位到的静态页面元素和/或动态页面元素进行测试。
可选的,第一定位模块420,包括:
第一确定单元421,用于当检测到自动化测试脚本中包含预设标识字段时,确定自动化测试脚本用于定位静态页面元素,预设标识字段为accesibility_id或identifier;
第一获取单元422,用于从自动化测试脚本中获取预设标识字段对应的ID标识;
第一发送单元423,用于通过Appium向iOS设备发送包含预设标识字段和ID标识的第一定位指令;
其中,同一UI中,不同静态页面元素对应的ID标识互不相同,且ID标识由为静态页面元素的name、value或label确定。
可选的,底层定位路径为ios uiautomation路径,底层驱动为iOS UIAutomation;
第二定位模块430,包括:
第二确定单元431,用于当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios;
第二获取单元432,用于从自动化测试脚本中获取预设定位关键字对应的iosuiautomation路径;
第二发送单元433,用于通过Appium向iOS设备发送包含预设定位关键字和iosuiautomation路径的第二定位指令,iOS设备用于在识别出第二定位指令中包含的预设定位关键字时,通过iOS UIAutomation定位ios uiautomation路径所指示的动态页面元素。
该装置,还包括:
第二获取模块450,用于当自动化测试脚本指示对UI进行页面文本校验时,获取自动化测试脚本中包含的检验字符串,校验字符串中包含至少两个目标校验文本;
提取模块460,用于提取校验字符串中包含的各个目标校验文本,各个目标校验文本之间通过预定分隔符进行分隔;
检测模块470,用于通过运行Appium源码库中的自定义文本校验代码,检测UI中是否包含各个目标待校验文本,自定义文本校验代码用于同时对至少两个校验文本进行校验。
可选的,自定义文本校验代码存储在Appium源码库的_element.py文件中。
综上所述,本实施例提供的自动测试装置,通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS设备遍历并构建元素树,进而缩短了自动化测试的执行时间,提高了自动化测试的效率。
本实施例中,通过在Appium源码库中添加支持多文本校验的自定义文本校验代码,使得自动化测试终端能够根据该自定义文本校验代码同时对多个目标待校验文本进行校验,解决了现有技术中每次只能对单个目标待校验文本进行校验,导致在多个目标待校验文本进行校验时,需要重复获取页面资源,影响文本校验速度的问题,达到了在进行多目标待校验文本校验时,只需获取一次页面资源,从而提高了文本校验的速度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种自动测试方法,其特征在于,所述方法包括:
获取自动化测试脚本;
当所述自动化测试脚本指示定位用户界面UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,所述第一定位指令中包含所述静态页面元素的身份ID标识,所述iOS设备用于根据所述ID标识定位所述静态页面元素;
当所述自动化测试脚本指示定位所述UI中的动态页面元素时,通过所述Appium框架向所述iOS设备发送第二定位指令,所述第二定位指令中包含所述动态页面元素的底层定位路径,所述iOS设备用于通过底层驱动定位所述底层定位路径所指示的所述动态页面元素;
对定位到的所述静态页面元素和/或所述动态页面元素进行测试。
2.根据权利要求1所述的方法,其特征在于,所述当所述自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,包括:
当检测到所述自动化测试脚本中包含预设标识字段时,确定所述自动化测试脚本用于定位所述静态页面元素,所述预设标识字段为accesibility_id或identifier;
从所述自动化测试脚本中获取所述预设标识字段对应的所述ID标识;
通过所述Appium框架向所述iOS设备发送包含所述预设标识字段和所述ID标识的所述第一定位指令;
其中,同一UI中,不同静态页面元素对应的所述ID标识互不相同。
3.根据权利要求1所述的方法,其特征在于,所述底层定位路径为ios uiautomation路径,所述底层驱动为iOS UIAutomation;
所述当所述自动化测试脚本指示定位所述UI中的动态页面元素时,通过所述Appium框架向所述iOS设备发送第二定位指令,包括:
当检测到所述自动化测试脚本中包含预设定位关键字时,确定所述自动化测试脚本用于定位所述动态页面元素,所述预设定位关键字为ios;
从所述自动化测试脚本中获取所述预设定位关键字对应的所述ios uiautomation路径;
通过所述Appium框架向所述iOS设备发送包含所述预设定位关键字和所述iosuiautomation路径的所述第二定位指令,所述iOS设备用于在识别出所述第二定位指令中包含所述预设定位关键字时,通过所述iOS UIAutomation定位所述ios uiautomation路径所指示的所述动态页面元素。
4.根据权利要求1至3任一所述的方法,其特征在于,所述获取自动化测试脚本之后,还包括:
当所述自动化测试脚本指示对所述UI进行页面文本校验时,获取所述自动化测试脚本中包含的检验字符串,所述校验字符串中包含至少两个目标校验文本;
提取所述校验字符串中包含的各个所述目标校验文本,各个所述目标校验文本之间通过预定分隔符进行分隔;
通过运行Appium源码库中的自定义文本校验代码,检测所述UI中是否包含各个所述目标待校验文本,所述自定义文本校验代码用于同时对至少两个校验文本进行校验。
5.根据权利要求4所述的方法,其特征在于,所述自定义文本校验代码存储在所述Appium源码库的_element.py文件中。
6.一种自动测试装置,其特征在于,所述装置包括:
第一获取模块,用于获取自动化测试脚本;
第一定位模块,用于当所述自动化测试脚本指示定位用户界面UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,所述第一定位指令中包含所述静态页面元素的身份ID标识,所述iOS设备用于根据所述ID标识定位所述静态页面元素;
第二定位模块,用于当所述自动化测试脚本指示定位所述UI中的动态页面元素时,通过所述Appium框架向所述iOS设备发送第二定位指令,所述第二定位指令中包含所述动态页面元素的底层定位路径,所述iOS设备用于通过底层驱动定位所述底层定位路径所指示的所述动态页面元素;
测试模块,用于对定位到的所述静态页面元素和/或所述动态页面元素进行测试。
7.根据权利要求6所述的装置,其特征在于,所述第一定位模块,包括:
第一确定单元,用于当检测到所述自动化测试脚本中包含预设标识字段时,确定所述自动化测试脚本用于定位所述静态页面元素,所述预设标识字段为accesibility_id或identifier;
第一获取单元,用于从所述自动化测试脚本中获取所述预设标识字段对应的所述ID标识;
第一发送单元,用于通过所述Appium向所述iOS设备发送包含所述预设标识字段和所述ID标识的所述第一定位指令;
其中,同一UI中,不同静态页面元素对应的所述ID标识互不相同。
8.根据权利要求6所述的装置,其特征在于,所述底层定位路径为ios uiautomation路径,所述底层驱动为iOS UIAutomation;
所述第二定位模块,包括:
第二确定单元,用于当检测到所述自动化测试脚本中包含预设定位关键字时,确定所述自动化测试脚本用于定位所述动态页面元素,所述预设定位关键字为ios;
第二获取单元,用于从所述自动化测试脚本中获取所述预设定位关键字对应的所述ios uiautomation路径;
第二发送单元,用于通过所述Appium向所述iOS设备发送包含所述预设定位关键字和所述ios uiautomation路径的所述第二定位指令,所述iOS设备用于在识别出所述第二定位指令中包含的所述预设定位关键字时,通过所述iOS UIAutomation定位所述iosuiautomation路径所指示的所述动态页面元素。
9.根据权利要求6至8任一所述的装置,其特征在于,所述装置,还包括:
第二获取模块,用于当所述自动化测试脚本指示对所述UI进行页面文本校验时,获取所述自动化测试脚本中包含的检验字符串,所述校验字符串中包含至少两个目标校验文本;
提取模块,用于提取所述校验字符串中包含的各个所述目标校验文本,各个所述目标校验文本之间通过预定分隔符进行分隔;
检测模块,用于通过运行Appium源码库中的自定义文本校验代码,检测所述UI中是否包含各个所述目标待校验文本,所述自定义文本校验代码用于同时对至少两个校验文本进行校验。
10.根据权利要求9所述的装置,其特征在于,所述自定义文本校验代码存储在所述Appium源码库的_element.py文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611163580.1A CN106776319B (zh) | 2016-12-15 | 2016-12-15 | 自动测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611163580.1A CN106776319B (zh) | 2016-12-15 | 2016-12-15 | 自动测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776319A true CN106776319A (zh) | 2017-05-31 |
CN106776319B CN106776319B (zh) | 2020-02-14 |
Family
ID=58892753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611163580.1A Active CN106776319B (zh) | 2016-12-15 | 2016-12-15 | 自动测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776319B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829389A (zh) * | 2018-03-29 | 2018-11-16 | 中南大学 | 基于Appium的安卓应用自动化触发执行方法 |
CN111061638A (zh) * | 2019-12-16 | 2020-04-24 | 上海钧正网络科技有限公司 | 一种iOS系统调试的方法、装置及服务器 |
CN111290940A (zh) * | 2018-12-10 | 2020-06-16 | 中国移动通信集团江西有限公司 | 针对app的自动化测试方法、装置、设备和介质 |
CN111752848A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种游戏检测方法及装置 |
CN113176921A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN113806210A (zh) * | 2020-06-16 | 2021-12-17 | 北京字节跳动网络技术有限公司 | 一种测试方法、设备、测试系统及存储介质 |
CN114647466A (zh) * | 2020-12-17 | 2022-06-21 | 国信君和(北京)科技有限公司 | 页面内容提取方法、装置、设备和计算机可读存储介质 |
CN114968687A (zh) * | 2022-06-09 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 遍历测试方法、装置、电子设备、程序产品以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423961A (zh) * | 2013-09-11 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种生成测试脚本的方法及系统 |
CN104834594A (zh) * | 2014-12-29 | 2015-08-12 | 平安科技(深圳)有限公司 | web系统测试方法及装置 |
CN105095088A (zh) * | 2015-09-02 | 2015-11-25 | 厦门美图移动科技有限公司 | 基于uiautomator测试框架的计算器自动化测试方法和测试系统 |
US20150378876A1 (en) * | 2014-06-25 | 2015-12-31 | Vmware, Inc. | Visual graphical user interface verification |
CN105320603A (zh) * | 2015-12-04 | 2016-02-10 | 上海斐讯数据通信技术有限公司 | 浏览器页面元素的定位系统和方法及其自动化测试方法 |
-
2016
- 2016-12-15 CN CN201611163580.1A patent/CN106776319B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423961A (zh) * | 2013-09-11 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种生成测试脚本的方法及系统 |
US20150378876A1 (en) * | 2014-06-25 | 2015-12-31 | Vmware, Inc. | Visual graphical user interface verification |
CN104834594A (zh) * | 2014-12-29 | 2015-08-12 | 平安科技(深圳)有限公司 | web系统测试方法及装置 |
CN105095088A (zh) * | 2015-09-02 | 2015-11-25 | 厦门美图移动科技有限公司 | 基于uiautomator测试框架的计算器自动化测试方法和测试系统 |
CN105320603A (zh) * | 2015-12-04 | 2016-02-10 | 上海斐讯数据通信技术有限公司 | 浏览器页面元素的定位系统和方法及其自动化测试方法 |
Non-Patent Citations (2)
Title |
---|
HQZXC2006: "appium通过iOS的predicate的模糊成精确匹配使用-ios uiautomation方式寻找元素", 《HTTPS:// BLOG.CSDN.NET/HQZXSC2006/ARTICLE/DETAILS/51066005》 * |
恒温: "Appium [content-description]find_ element_by_accessibility_id在android中的详解", 《HTTPS:// TESTERHOME.COM/TOPICS/1034》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829389A (zh) * | 2018-03-29 | 2018-11-16 | 中南大学 | 基于Appium的安卓应用自动化触发执行方法 |
CN111290940A (zh) * | 2018-12-10 | 2020-06-16 | 中国移动通信集团江西有限公司 | 针对app的自动化测试方法、装置、设备和介质 |
CN111290940B (zh) * | 2018-12-10 | 2023-04-28 | 中国移动通信集团江西有限公司 | 针对app的自动化测试方法、装置、设备和介质 |
CN111061638A (zh) * | 2019-12-16 | 2020-04-24 | 上海钧正网络科技有限公司 | 一种iOS系统调试的方法、装置及服务器 |
CN111061638B (zh) * | 2019-12-16 | 2023-06-30 | 上海钧正网络科技有限公司 | 一种iOS系统调试的方法、装置及服务器 |
CN113806210A (zh) * | 2020-06-16 | 2021-12-17 | 北京字节跳动网络技术有限公司 | 一种测试方法、设备、测试系统及存储介质 |
CN111752848A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种游戏检测方法及装置 |
CN111752848B (zh) * | 2020-07-03 | 2023-05-09 | 珠海西山居数字科技有限公司 | 一种游戏检测方法及装置 |
CN114647466A (zh) * | 2020-12-17 | 2022-06-21 | 国信君和(北京)科技有限公司 | 页面内容提取方法、装置、设备和计算机可读存储介质 |
CN113176921A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN113176921B (zh) * | 2021-04-30 | 2023-09-19 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN114968687A (zh) * | 2022-06-09 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 遍历测试方法、装置、电子设备、程序产品以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106776319B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776319A (zh) | 自动测试方法及装置 | |
CN104252410B (zh) | 一种对页面中的控件进行测试的方法和设备 | |
CN107678935B (zh) | 数据生成方法、终端及计算机可读存储介质 | |
US9846634B2 (en) | Visual graphical user interface verification | |
US20150082280A1 (en) | Automatic verification by comparing user interface images | |
CN105303179A (zh) | 指纹识别方法、装置 | |
CN105117341B (zh) | 一种基于动态符号执行的分布式自动测试案例生成方法 | |
CN110458168A (zh) | 车辆检测报告的处理方法、装置、计算机设备和存储介质 | |
CN103793322A (zh) | 一种针对软件本地化测试中翻译问题的检测方法及系统 | |
CN107491536B (zh) | 一种试题校验方法、试题校验装置及电子设备 | |
CN105743736B (zh) | 自动化测试方法及系统 | |
CN110175609A (zh) | 界面元素检测方法、装置及设备 | |
CN109981567A (zh) | 网络验证数据的发送方法、装置、存储介质和服务器 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN109189674A (zh) | 一种软件缺陷自动上报的方法及系统 | |
CN109740040A (zh) | 验证码识别方法、装置、存储介质和计算机设备 | |
CN105515909B (zh) | 一种数据采集测试方法和装置 | |
CN106911694A (zh) | 一种基于android漏洞知识库自动更新的方法 | |
Bures et al. | SmartDriver: Extension of selenium WebDriver to create more efficient automated tests | |
CN106959919A (zh) | 基于测试路径图的软件测试方法及装置 | |
CN112149828B (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
US20180321959A1 (en) | Context oriented translation | |
CN111639166B (zh) | 数学口算算式结果错因分析方法、装置、设备和存储介质 | |
US20140281719A1 (en) | Explaining excluding a test from a test suite | |
CN107566826A (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 | ||
CB02 | Change of applicant information |
Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |