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(id ...
【技术保护点】
一种自动测试方法,其特征在于,所述方法包括:获取自动化测试脚本;当所述自动化测试脚本指示定位用户界面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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。