CN106776344A - 一种基于appium的智能快递柜的自动化测试方法 - Google Patents

一种基于appium的智能快递柜的自动化测试方法 Download PDF

Info

Publication number
CN106776344A
CN106776344A CN201710029242.7A CN201710029242A CN106776344A CN 106776344 A CN106776344 A CN 106776344A CN 201710029242 A CN201710029242 A CN 201710029242A CN 106776344 A CN106776344 A CN 106776344A
Authority
CN
China
Prior art keywords
appium
express delivery
delivery cabinet
intelligent express
python
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
CN201710029242.7A
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.)
Shanghai Jubao Network Polytron Technologies Inc
Original Assignee
Shanghai Jubao Network Polytron Technologies Inc
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 Shanghai Jubao Network Polytron Technologies Inc filed Critical Shanghai Jubao Network Polytron Technologies Inc
Priority to CN201710029242.7A priority Critical patent/CN106776344A/zh
Publication of CN106776344A publication Critical patent/CN106776344A/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/3688Test 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)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于APPIUM的智能快递柜的自动化测试方法,步骤包括:部署测试环境、搭建测试框架、获取控件元素定位、编写自动化测试脚本、启动APPIUM服务端、运行自动化测试脚本发送指令、智能快递柜接收指令并执行、智能快递柜返回执行结果、APPIUM调用Apache Ant解析执行结果并打印出html形式的执行报告。其中报告的文件存储格式可以自由定义。该测试方法能够自动根据元素定位,自动实现点击、滑动、文本输入、发送按键命令、锁定、收起键盘、打开通知栏等动作,代替人工手动测试智能快递柜时繁琐的操作步骤。同时避免了人工操作的失误。

Description

一种基于APPIUM的智能快递柜的自动化测试方法
技术领域
本发明涉及一种自动化测试方法,尤其是一种基于APPIUM的智能快递柜的自动化测试方法。
背景技术
随着智能快递柜的飞速发展,智能快递柜上的功能模块越来越多、***发布频率越来越高、周期越来越短,智能快递柜测试过程(尤其是功能测试、压力测试、***测试)中经常会耗费大量的人力和精力。因此,研究出一种基于APPIUM的智能快递柜的自动化测试方法显得非常重要。目前已经存在的一些基础的自动化测试手段在应用于智能快递柜上的自动化测试也存在兼容性和实用性不高的问题。
发明内容
本发明要解决的技术问题是智能快递柜上的自动化测试并自动打印出自定义格式的报告文件。
为了解决上述技术问题,本发明提供了一种基于APPIUM的智能快递柜的自动化测试方法,包括如下步骤:
步骤1,部署测试环境:组装智能快递柜完毕,将智能快递柜的主板接通电源后,通过公口A型USB线连接电脑和智能快递柜主板;用电脑在智能快递柜上安装apk,在电脑上准备基础测试数据;
步骤2,搭建测试框架:安装android的SKD调用智能快递柜的Android***层和获取元素定位;电脑上安装Python客户端编写自动化脚本;使用Python的pip install Selenium命令来安装Selenium,以便后续Appium服务端可以调用Selenium接口来执行自动化命令;安装Node.js、Appium客户端和服务端运行自动化脚本;安装Apache Ant,编译出自定义存储格式的测试报告;具体搭建步骤如下:
1)在电脑上安装安装 node.js,本工具是Appium运行的基础依赖环境;
2)在电脑上安装android的SKD,添加ANDROID_HOME***环境变量,路径为SDK所在目录;把 tools platform-tools 两个目录加入到***的Path路径里;
3)在电脑上安装安装 Python客户端,将Python路径添加到***Path路径中;
4)使用Python的pip install Selenium命令来安装Selenium;
5)在电脑上安装Apache Ant,新增环境变量ANT_HOME,解压Apache Ant文件夹,并把路径加入环境变量ANT_HOME中;在***变量的Path:中添加内容%ANT_HOME%\bin;
6)在电脑上安装Appium客户端和服务端;
步骤3,启动Appium服务端:打开Appium客户端,设置要连接的快递柜名称,设置Appium服务端的ip地址和监听端口;默认ip为本机地址127.0.0.1,默认端口号4723;点击Appium客户端上的开始运行按钮,启动Appium服务端成功;
步骤4,获取控件元素定位:打开android的SKD,启动SKD中的UIAUTORMATORVIEWER,截取智能快递柜的屏幕内容,获取元素path、tag、text、起始横坐标,起始纵坐标,终止横坐标,终止纵坐标,用于唯一的标识快递柜界面元素的路径、标记名和名称,用于步骤5自动化脚本中对特定元素下达指定命令;
步骤5,编写自动化测试脚本:打开Python客户端的编辑器,调用Appium服务端的API如find_element_by_xpath(path)和find_element_by_tag_name(tag)来定位智能快递柜元素和控件,此处所涉及的path、tag由步骤4获得;调用Appium服务端的API如click()、swipe(起始横坐标,起始纵坐标,终止横坐标,终止纵坐标)、send_keys( value)、keyevent(keycode)、lock(time)、hide_keyboard()、open_notifications()来向智能快递柜的发送点击、滑动、文本输入、发送按键、锁定、收起键盘、打开通知栏指令,此命令中涉及的起始横坐标,起始纵坐标,终止横坐标,终止纵坐标由步骤4获得,value、keycode和time是可以自定义的字符串;调用Appium服务端的API如get_attribute(name)来获取智能快递柜元素的各种属性值如名称、编号、是否获取焦点,用于判断智能快递柜上的信息显示是否正确;调用Python服务端的API接口编写软件自动化脚本和硬件自动化脚本;
步骤6,Appium处理命令:自动化测试脚本通过Appium服务端的内层框架RobotFrameWork将命令传递给Appium客户端;Appium 客户端将接受到的命令发送给Appium服务端;Appium 服务端监听端口4723,接收Appium 客户端发送来的命令,翻译这些命令,把这些命令转成智能快递柜可以理解的ADB命令形式后,发送给智能快递柜;
步骤7,智能快递柜处理命令:所述智能快递柜调用android***的InstrumentationApi、Uiautomator Api接口来接收指令和执行指令;智能快递柜返回执行结果给APPIUM服务端;
步骤8, APPIUM调用Apache Ant解析执行报告,并进行打印。
具体的,步骤5)中Appium Api接口调用步骤2)中安装的Selenium 的client库;相比其他的移动自动化测试工具,Appium测试由于调用了Selenium的client库使其可以使用任意的语言,包括Python、Ruby、Node.js、Objective-C等。
本发明的有益效果列举如下:
(1)兼容性高:兼容各个版本的Android***,兼容不同类型的智能快递柜主板;
(1)稳定性高:采用Python+Appium结合的方式,服务端独立工作。
(2)实用性高:完善的api,可以实现点击、滑动、文本输入、发送按键命令、锁定、收起键盘、打开通知栏等动作,代替人工手动测试智能快递柜时繁琐的操作步骤。同时避免了人工操作的失误。
(3)自定义测试报告打印格式和存储格式,完美兼容了不同人的阅读习惯,提高了报告分析的效率。
附图说明
图1为本发明的方法流程图;
图2为本发明的***结构示意图。
具体实施方式
如图1-2所示,本发明所指自动化测试方法由Appium的客户端、Appium的服务端、ADB、智能快递柜和硬件主板组成,实现测试功能。
本发明方法包括以下步骤:
步骤1,部署测试环境:组装智能快递柜完毕,将智能快递柜的主板接通电源后,为智能快递柜的电脑安装apk;利用apk为电脑编译基础测试数据;
步骤2,搭建测试框架:通过apk在电脑上安装Python客户端、Nodejs、android的SKD、Apache Ant、JDK、Apache Maven和appium客户端和服务端;
步骤3,获取控件元素定位:打开Python编辑器,启动编辑器中的UIAUTORMATORVIEWER,截取智能快递柜的屏幕内容,获取元素id、class、text;
步骤4,编写自动化测试脚本:打开Python编辑器,调用APPIUM API和PYTHON API接口编写软件自动化脚本和硬件自动化脚本;
步骤5,Appium处理命令:启动APPIUM服务端,自动化测试脚本通过RobotFrameWork将命令传递给Appium客户端;Appium 客户端将接受到的命令发送给Appium服务端;Appium服务端监听一个端口,接收Appium 客户端发送来的命令,翻译这些命令,把这些命令转成智能快递柜可以理解的ADB命令形式后,发送给智能快递柜;
步骤6,智能快递柜处理命令:所述智能快递柜底层用android的InstrumentationApi、Uiautomator Api接口;智能快递柜接收指令,通过调用android的InstrumentationApi和Uiautomator Api接口来执行指令;智能快递柜返回执行结果给APPIUM服务端;
步骤7, APPIUM解析执行报告,并进行打印。
具体实现包括以下内容:
1.使用Python编写软件自动化脚本和硬件自动化脚本,调用Python Api和Appium Api接口
2.Appium Api接口调用Selenium Api的接口;
3.自动化脚本通过RobotFrameWork将命令传递给Appium的客户端(以下简称Appiumclient);
4.Appium client将接受到的命令发送给Appium的服务端(以下简称Appium server);
5.Appium server监听一个端口,接收Appium client发送来的command,翻译这些命令,把这些command转成智能快递柜可以理解的形式(即ADB命令)发送给智能快递柜,然后智能快递柜执行完command后把执行结果返回给Appium server,Appium server再把执行结果返回给Appium client;
6.智能快递柜底层用android的Instrumentation Api、Uiautomator Api接口。
本发明的实现流程包含编写自动化脚本命令、Appium处理命令、智能快递柜处理命令、Appium client自动调用Apache Ant解析执行报告,并进行打印。
测试人员只需要查看执行结果报告即可。
编写自动化脚本命令流程包括以下步骤:
(1)安装Python客户端;
(2)打开Python编辑器;
(3)打开uiautomatorviewer,获取元素定位;
(4)引用Python api和Appium api编写脚本。
Appium处理命令流程包括以下步骤:
(1)安装appium客户端和服务端
(2)启动appium服务端
(3)Appium client发送命令
(4)Appium server接收命令
(5)Appium server发送命令;
智能快递柜处理命令流程包括以下步骤:
(1)连接智能快递柜
(2)智能快递柜接收命令
(3)智能快递柜执行命令
(4)智能快递柜返回执行结果
Appium client自动打印报告流程包括以下步骤:
(1)Appium client接收报告
(2)Appium client调用Apache Ant解析报告
(3)Appium client打印报告。

Claims (2)

1.一种基于APPIUM的智能快递柜的自动化测试方法,其特征在于,包括如下步骤:
步骤1,部署测试环境:组装智能快递柜完毕,将智能快递柜的主板接通电源后,通过公口A型USB线连接电脑和智能快递柜主板;用电脑在智能快递柜上安装apk,在电脑上准备基础测试数据;
步骤2,搭建测试框架:安装android的SKD调用智能快递柜的Android***层和获取元素定位;电脑上安装Python客户端编写自动化脚本;使用Python的pip install Selenium命令来安装Selenium,以便后续Appium服务端可以调用Selenium接口来执行自动化命令;安装Node.js、Appium客户端和服务端运行自动化脚本;安装Apache Ant,编译出自定义存储格式的测试报告;具体搭建步骤如下:
在电脑上安装安装 node.js,该工具是Appium运行的基础依赖环境;
在电脑上安装android的SKD,添加ANDROID_HOME***环境变量,路径为SDK所在目录;把 tools platform-tools 两个目录加入到***的Path路径里;
在电脑上安装安装 Python客户端,将Python路径添加到***Path路径中;
使用Python的pip install Selenium命令来安装Selenium;
在电脑上安装Apache Ant,新增环境变量ANT_HOME,解压Apache Ant文件夹,并把路径加入环境变量ANT_HOME中;在***变量的Path:中添加内容%ANT_HOME%\bin;
在电脑上安装Appium客户端和服务端;
步骤3,启动Appium服务端:打开Appium客户端,设置要连接的快递柜名称,设置Appium服务端的ip地址和监听端口;默认ip为本机地址127.0.0.1,默认端口号4723;点击Appium客户端上的开始运行按钮,启动Appium服务端成功;
步骤4,获取控件元素定位:打开android的SKD,启动SKD中的UIAUTORMATORVIEWER,截取智能快递柜的屏幕内容,获取元素path、tag、text、起始横坐标,起始纵坐标,终止横坐标,终止纵坐标,用于唯一的标识快递柜界面元素的路径、标记名和名称,用于步骤5自动化脚本中对特定元素下达指定命令;
步骤5,编写自动化测试脚本:打开Python客户端的编辑器,调用Appium服务端的API如find_element_by_xpath(path)和find_element_by_tag_name(tag)来定位智能快递柜元素和控件,此处所涉及的path、tag由步骤4获得;调用Appium服务端的API如click()、swipe(起始横坐标,起始纵坐标,终止横坐标,终止纵坐标)、send_keys( value)、keyevent(keycode)、lock(time)、hide_keyboard()、open_notifications()来向智能快递柜的发送点击、滑动、文本输入、发送按键、锁定、收起键盘、打开通知栏指令,此命令中涉及的起始横坐标,起始纵坐标,终止横坐标,终止纵坐标由步骤4获得,value、keycode和time是可以自定义的字符串;调用Appium服务端的API如get_attribute(name)来获取智能快递柜元素的各种属性值如名称、编号、是否获取焦点,用于判断智能快递柜上的信息显示是否正确;调用Python服务端的API接口编写软件自动化脚本和硬件自动化脚本;
步骤6,Appium处理命令:自动化测试脚本通过Appium服务端的内层框架RobotFrameWork将命令传递给Appium客户端;Appium 客户端将接受到的命令发送给Appium服务端;Appium 服务端监听端口4723,接收Appium 客户端发送来的命令,翻译这些命令,把这些命令转成智能快递柜可以理解的ADB命令形式后,发送给智能快递柜;
步骤7,智能快递柜处理命令:所述智能快递柜调用android***的InstrumentationApi、Uiautomator Api接口来接收指令和执行指令;智能快递柜返回执行结果给APPIUM服务端;
步骤8, APPIUM调用Apache Ant解析执行报告,并进行打印。
2.根据权利要求1所述的一种基于APPIUM的智能快递柜的自动化测试方法,其特征在于,步骤5)中Appium Api接口调用步骤2)中安装的Selenium 的client库;相比其他的移动自动化测试工具,Appium测试由于调用了Selenium的client库使其可以使用任意的语言,包括Python、Ruby、Node.js、Objective-C等。
CN201710029242.7A 2017-01-16 2017-01-16 一种基于appium的智能快递柜的自动化测试方法 Pending CN106776344A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710029242.7A CN106776344A (zh) 2017-01-16 2017-01-16 一种基于appium的智能快递柜的自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710029242.7A CN106776344A (zh) 2017-01-16 2017-01-16 一种基于appium的智能快递柜的自动化测试方法

Publications (1)

Publication Number Publication Date
CN106776344A true CN106776344A (zh) 2017-05-31

Family

ID=58945864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710029242.7A Pending CN106776344A (zh) 2017-01-16 2017-01-16 一种基于appium的智能快递柜的自动化测试方法

Country Status (1)

Country Link
CN (1) CN106776344A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704396A (zh) * 2017-10-20 2018-02-16 平安科技(深圳)有限公司 应用程序的测试方法及装置
CN108427646A (zh) * 2018-04-13 2018-08-21 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN108536587A (zh) * 2018-03-21 2018-09-14 轻客智能科技(江苏)有限公司 一种基于Appium的自动化测试方法及***
CN110347409A (zh) * 2019-07-12 2019-10-18 威创集团股份有限公司 自动控制方法、客户端和服务器
CN110389886A (zh) * 2018-04-16 2019-10-29 腾讯科技(深圳)有限公司 一种主体应用程序的附加功能测试方法、装置及存储介质
CN111434129A (zh) * 2018-08-27 2020-07-17 华为技术有限公司 一种基于快递消息控制快递柜的方法及电子设备
CN111858336A (zh) * 2020-07-20 2020-10-30 深圳市筑泰防务智能科技有限公司 一种软件自动化测试方法以及***
CN111897518A (zh) * 2020-07-23 2020-11-06 广东电网有限责任公司韶关供电局 一种业务自动化执行方法、装置,设备及存储介质
CN112463613A (zh) * 2020-12-01 2021-03-09 广州朗国电子科技有限公司 一种基于adb的测试驱动***、方法及存储介质
CN114172835A (zh) * 2021-11-24 2022-03-11 重庆长安汽车股份有限公司 一种蓝牙数字钥匙的自动化测试方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024874A1 (en) * 2007-07-18 2009-01-22 Novell, Inc. Generic template to autogenerate reports for software target testing
CN106250307A (zh) * 2016-07-20 2016-12-21 福建省农村信用社联合社 一种银行手机应用自动化测试方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090024874A1 (en) * 2007-07-18 2009-01-22 Novell, Inc. Generic template to autogenerate reports for software target testing
CN106250307A (zh) * 2016-07-20 2016-12-21 福建省农村信用社联合社 一种银行手机应用自动化测试方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHYU1989: "Appium移动自动化测试(一)——安装Appium", 《HTTPS://BLOG.CSDN.NET/SHYU1989/ARTICLE/DETAILS/51728833》 *
一盏黄黄旧旧的灯: "Appium环境搭建python篇(mac***)", 《HTTPS://WWW.CNBLOGS.COM/TANGDONGCHU/P/4432808.HTML》 *
六六_FIONA: "Appium搭建", 《HTTPS://WWW.JIANSHU.COM/P/1694BB5BDB8B#COMMENTS》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704396A (zh) * 2017-10-20 2018-02-16 平安科技(深圳)有限公司 应用程序的测试方法及装置
CN108536587A (zh) * 2018-03-21 2018-09-14 轻客智能科技(江苏)有限公司 一种基于Appium的自动化测试方法及***
CN108427646A (zh) * 2018-04-13 2018-08-21 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN108427646B (zh) * 2018-04-13 2021-11-16 中国民航信息网络股份有限公司 基于Appium的安卓App自动化测试框架构建方法和装置
CN110389886B (zh) * 2018-04-16 2021-08-03 腾讯科技(深圳)有限公司 一种主体应用程序的附加功能测试方法、装置及存储介质
CN110389886A (zh) * 2018-04-16 2019-10-29 腾讯科技(深圳)有限公司 一种主体应用程序的附加功能测试方法、装置及存储介质
CN111434129B (zh) * 2018-08-27 2022-09-23 华为技术有限公司 一种基于快递消息控制快递柜的方法及电子设备
CN111434129A (zh) * 2018-08-27 2020-07-17 华为技术有限公司 一种基于快递消息控制快递柜的方法及电子设备
US11790709B2 (en) 2018-08-27 2023-10-17 Huawei Technologies Co., Ltd. Method for controlling locker based on delivery message and electronic device
CN110347409A (zh) * 2019-07-12 2019-10-18 威创集团股份有限公司 自动控制方法、客户端和服务器
CN111858336A (zh) * 2020-07-20 2020-10-30 深圳市筑泰防务智能科技有限公司 一种软件自动化测试方法以及***
CN111858336B (zh) * 2020-07-20 2024-03-15 深圳市筑泰防务智能科技有限公司 一种软件自动化测试方法以及***
CN111897518A (zh) * 2020-07-23 2020-11-06 广东电网有限责任公司韶关供电局 一种业务自动化执行方法、装置,设备及存储介质
CN112463613A (zh) * 2020-12-01 2021-03-09 广州朗国电子科技有限公司 一种基于adb的测试驱动***、方法及存储介质
CN112463613B (zh) * 2020-12-01 2023-09-15 广州朗国电子科技股份有限公司 一种基于adb的测试驱动***、方法及存储介质
CN114172835A (zh) * 2021-11-24 2022-03-11 重庆长安汽车股份有限公司 一种蓝牙数字钥匙的自动化测试方法

Similar Documents

Publication Publication Date Title
CN106776344A (zh) 一种基于appium的智能快递柜的自动化测试方法
US7856619B2 (en) Method and system for automated testing of a graphic-based programming tool
CN107704395B (zh) 一种基于Openstack下云平台自动化测试实施方法与***
US8006224B2 (en) System and method for unified visualization of two-tiered applications
CN105912473B (zh) 基于bdd的移动app自动测试平台和测试方法
US10127023B2 (en) Computer-aided development of native mobile application code
CN106415480B (zh) 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用
US20060236307A1 (en) System and method for transformation of wireless application definition to simplified form
EP1723561A1 (en) Method, data processing device, computer program product and arrangement for processing electronic data
US7673286B2 (en) Architecture for converting control types in a data bound user interface
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN111913889A (zh) 一种测试***搭建方法及测试***
CN115437608A (zh) 智能研发辅助方法及装置
CN108287720B (zh) 软件编译方法、装置、设备及存储介质
CN101727384B (zh) 自动测试一应用软件的控件的方法
CN108762745B (zh) 业务的脚本生成方法及装置
US8484615B2 (en) Software framework to build an executable scheme in a GUI environment
CN110532310B (zh) 可动态扩展特权账号扫描类型的方法及装置
CN115480757A (zh) iOS***工程组件生成方法、装置、设备及存储介质
CN117573219A (zh) 一种交互式redfish手册嵌入基板管理控制器的方法及装置
KR20140115456A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 기록매체
Carrick et al. OSSIE 0.7. 0 Installation and User Guide
KR20140114970A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체
KR20140114969A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체
KR20140114962A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170531