自动测试方法及装置制造方法及图纸

技术编号:15541629 阅读:65 留言:0更新日期:2017-06-05 10:57
本公开揭示了一种自动测试方法及装置,属于软件测试领域。该方法包括:获取自动化测试脚本;当自动化测试脚本指示定位UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,第一定位指令中包含静态页面元素的ID标识;当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,第二定位指令中包含动态页面元素的底层定位路径,iOS设备用于通过底层驱动定位该底层定位路径所指示的动态页面元素;对定位到的静态页面元素和/或动态页面元素进行测试。本公开利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免遍历并构建元素树,提高自动化测试的效率。

Automatic test method and device

The invention discloses an automatic testing method and a device, belonging to the field of software testing. The method comprises: acquiring automated test scripts; when the automated test scripts indicating static page element positioning in UI, through the Appium framework to send the iOS equipment for the first positioning instruction contains static page elements first positioning command of the ID logo; when the dynamic page elements automation test scripts indicating location in UI, and sends commands second location of iOS devices through the Appium framework, the underlying location path contains the dynamic page elements second positioning instructions, iOS device for dynamic page instructions through the bottom drive positioning of the bottom surface positioning path elements; static page elements on the location and / or dynamic page elements test. The present invention uses ID identification or bottom positioning path to replace XPath to locate page elements, thereby avoiding traversing and constructing element tree, and improving the efficiency of automated testing.

【技术实现步骤摘要】
自动测试方法及装置
本公开涉及软件测试领域,特别涉及一种自动测试方法及装置。
技术介绍
Appium框架是一种用于对应用程序进行UI(UserInterface,用户界面)测试的自动化测试框架,适用于Android(安卓)平台及iOS(苹果公司开发的移动操作系统)平台。现有技术中,Appium框架根据自动化测试脚本向iOS设备发送测试指令后,iOS设备遍历iOS应用UI中各个页面元素,并构建UI对应的元素树,从而基于该元素树执行测试指令所指示的测试操作。比如,当需要对UI中的目标页面元素进行定位时,Appium框架向iOS设备发送携带有目标页面元素对应XPath(XML路径)的测试指令,iOS设备接收到该测试指令后,即根据测试指令中包含的XPath,在元素树对应的XML(ExtensibleMarkupLanguage,可扩展标记语言)数据中查找目标页面元素,从而定位目标页面元素在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标识互不相同。可选的,底层定位路径为iosuiautomation路径,底层驱动为iOSUIAutomation;当自动化测试脚本指示定位UI中的动态页面元素时,通过Appium框架向iOS设备发送第二定位指令,包括:当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios;从自动化测试脚本中获取预设定位关键字对应的iosuiautomation路径;通过Appium向iOS设备发送包含预设定位关键字和iosuiautomation路径的第二定位指令,iOS设备用于在识别出第二定位指令中包含该预设定位关键字时,通过iOSUIAutomation定位iosuiautomation路径所指示的动态页面元素。可选的,获取自动化测试脚本之后,还包括:当自动化测试脚本指示对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标识互不相同。可选的,底层定位路径为iosuiautomation路径,底层驱动为iOSUIAutomation;第二定位模块,包括:第二确定单元,用于当检测到自动化测试脚本中包含预设定位关键字时,确定自动化测试脚本用于定位动态页面元素,预设定位关键字为ios;第二获取单元,用于从自动化测试脚本中获取预设定位关键字对应的iosuiautomation路径;第二发送单元,用于通过Appium向iOS设备发送包含预设定位关键字和iosuiautomation路径的第二定位指令,iOS设备用于在识别出第二定位指令中包含的预设定位关键字时,通过iOSUIAutomation定位iosuiautomation路径所指示的动态页面元素。该装置,还包括:第二获取模块,用于当自动化测试脚本指示对UI进行页面文本校验时,获取自动化测试脚本中包含的检验字符串,校验字符串中包含至少两个目标校验文本;提取模块,用于提取校验字符串中包含的各个目标校验文本,各个目标校验文本之间通过预定分隔符进行分隔;检测模块,用于通过运行Appium源码库中的自定义文本校验代码,检测UI中是否包含各个目标待校验文本,自定义文本校验代码用于同时对至少两个校验文本进行校验。可选的,自定义文本校验代码存储在Appium源码库的_element.py文件中。本公开实施例提供的技术方案可以包括以下有益效果:通过获取自动化测试脚本,在自动化测试脚本指示定位UI中的静态页面元素时,利用Appium框架向iOS设备发送包含静态页面元素对应ID标识的第一定位指令,使得iOS设备根据该ID标识即可定位静态页面元素;在自动化测试脚本指示定位UI中的动态页面元素时,利用Appium框架向iOS设备发送包含动态页面元素对应底层定位路径的第二定位指令,使得iOS设备通过底层驱动定位即可定位该底层定位路径所指示的动态页面元素,并最终对定位到的静态页面元素和/或动态页面元素进行测试;实现了利用ID标识或底层定位路径取代XPath进行页面元素定位,从而避免页面元素定位过程中iOS本文档来自技高网...
自动测试方法及装置

【技术保护点】
一种自动测试方法,其特征在于,所述方法包括:获取自动化测试脚本;当所述自动化测试脚本指示定位用户界面UI中的静态页面元素时,通过Appium框架向iOS设备发送第一定位指令,所述第一定位指令中包含所述静态页面元素的身份ID标识,所述iOS设备用于根据所述ID标识定位所述静态页面元素;当所述自动化测试脚本指示定位所述UI中的动态页面元素时,通过所述Appium框架向所述iOS设备发送第二定位指令,所述第二定位指令中包含所述动态页面元素的底层定位路径,所述iOS设备用于通过底层驱动定位所述底层定位路径所指示的所述动态页面元素;对定位到的所述静态页面元素和/或所述动态页面元素进行测试。

【技术特征摘要】
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所述的方法,其特征在于,所述底层定位路径为iosuiautomation路径,所述底层驱动为iOSUIAutomation;所述当所述自动化测试脚本指示定位所述UI中的动态页面元素时,通过所述Appium框架向所述iOS设备发送第二定位指令,包括:当检测到所述自动化测试脚本中包含预设定位关键字时,确定所述自动化测试脚本用于定位所述动态页面元素,所述预设定位关键字为ios;从所述自动化测试脚本中获取所述预设定位关键字对应的所述iosuiautomation路径;通过所述Appium框架向所述iOS设备发送包含所述预设定位关键字和所述iosuiautomation路径的所述第二定位指令,所述iOS设备用于在识别出所述第二定位指令中包含所述预设定位关键字时,通过所述iOSUIAutomation定位所述iosuiautomation路径所指示的所述动态页面元素。4.根据权利要求1至3任一所述的方法,其特征在于,所述获取自动化测试脚本之后,还包括:当所述自动化测试脚本指示对所述UI进行页面文本校验时,获取所述自动化测试脚本中包含的检验字符串,所述校验字符串中包含至少两个目标校验文本;提取所述校验字符串中包含的各个所述目标校验文本,各个所述目标校验文本之间通过预定分隔符进行分隔;通过运行Appium源码库中的自定义文本校验代码,检测所述UI中是否包含各个所述目标待校验文本,所述自定义文本校验代码用于同时对至少两个校验文本进行校验。5.根据权利要求4所述的方法,其特征在于,所述自定义文本校验代码存储在所述Appium源码库的_element.py文件中。6.一...

【专利技术属性】
技术研发人员:周金剑
申请(专利权)人:广州酷狗计算机科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1