上云无忧 > 文档中心 > 百度智能云移动App测试服务 - Appuim脚本编写
移动App测试服务
百度智能云移动App测试服务 - Appuim脚本编写

文档简介:
手动编写Appuim测试脚本: 操作步骤: 1.设备准备: PC(Mac、windows、linux均可)。 一台Android手机(推荐4.4以上的真机)。 2.环境依赖(假设用python作为编写语言): Android sdk。 python 2.7。 appium server 1.6.1。 appium python client。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

手动编写Appuim测试脚本

操作步骤

1.设备准备

PC(Mac、windows、linux均可)

一台Android手机(推荐4.4以上的真机)

2.环境依赖(假设用python作为编写语言)

Android sdk

python 2.7

appium server 1.6.1

appium python client

3.appium工作机制

以python语言为例,假设脚本(main.py)中只有“点击按钮btn1”这一个动作,对应的语句为:find_element_by_id(“btn1”).click()。

那么appium的工作流程如下:

  1. 启动appium server,它会自动完成如下两件事:

a) 启动一个用于接受appium client请求的http服务

b) 在手机上启动一个socket server,在pc上启动一个socket client;client可以向server发起各种命令

  1. 执行main.py,把main.py交给appium python client解析执行
  2. python client把动作包装成http请求,发送给appium http server
  3. http server把“点击按钮1”请求解析成socket client和server之间规定的通信格式,并通过socket发送请求到手机
  4. 运行在手机上的socket server,负责把“点击按钮1”请求解析为具体的手机本地api,并调用手机本地服务执行
  5. 执行结果沿着上述通信路线层层返回

其他语言的工作流程也基本一致,区别只在于appium client这里,各个语言的api略有区别。

由此可以看出,appium server最大的好处是,在具体的命令执行上封装了一层统一的基于http协议构建的请求格式,不同语言的客户端可以无差别地调用。

4.本地环境安装

以windows环境为例

  1. 安装appium server(包含了各个语言的客户端)。

下载地址:https://bitbucket.org/appium/appium.app/downloads/

选择AppiumForWindows_xxx.zip

解压到任意目录之后,双击appium-installer.exe安装。

安装好之后,打开应用就会出现如下界面:

  1. 安装python执行环境

到 http://www.python.org/downloads/release/python-2711/ 下载跟系统对应的版本,安装即可。

5.本地脚本执行

  1. 连上一台手机,打开命令行工具,首先确认能通过adb连上,例如:

  1. 打开Appium程序,配置手机信息,配置Appium server信息并启动

a) 配置连上的手机信息

b) 配置Appium server信息,主要是地址和端口,一般使用默认的即可。

  1. 启动Appium server

看到如下信息(Appium Rest http interface listener started on [127.0.0.1:4732])就说明启动成功了:

  1. 启动好Appium server之后,就可以开始编写脚本了

写法可以参考我们的样例:(下载地址:http://mtcapp.bj.bcebos.com/example_cases.zip )

zip包中有如下几个文件:

a) 修改test_config.py中的配置

i. 把${platformVersion}替换为你的安卓设备的系统版本,例如5.1、4.4、4.3;

注意,只能写Appium能识别的platformVersion

ii. 把${deviceName}替换为对应设备的序列号,例如在我们的例子中是3a1a658。(即adb devices显示的序列号,参考5-(2)-(a))

iii. 把${app}替换为被测应用的绝对路径,例如“D:\test_appium\test.apk”

iv. 把${port}替换为Appium server的端口(参考5-(2)-(a)),默认是4723

b) 修改main.py的内容

在我们的例子中,只是简单的做了两次向左划屏的动作,这里可以自定义测试用例的内容,需要具备一定的appium driver api的基础, 并且需要自己多去查阅一些资料了。建议根据参考资料里的《Appium python driver api入门》去做进一步查阅。(可以先参考上图中注释掉的代码,类名、函数名可以修改,需要注意,appium从1.5版本开始,去掉了find_element_by_name等方法)

  1. 脚本修改好了之后,在main.py的同级目录下打开命令行,执行“python –m unittest main”,

可以看到Appium的控制台打印出了很多信息,并且手机同时开始执行脚本:

执行完了之后,会在命令行弹出测试结果:

如果出现了OK的字样,说明测试通过了!

6.提交到百度智能云

把main.py和test_config.py打包成zip包(理论上只需要main.py即可,test_config.py会自动配置)

到 https://console.bce.baidu.com/aat/startTest/replay 提交功能回放测试:

除了提交被测app以外,再把刚刚打好的用例zip包上传,点击立即购买,就会在bce机房上选出10款优质机型进行回放测试。

7.效果样例

  1. 概览

  1. 终端详情

  1. 性能结果

8.参考资料

官网:http://appium.io/

Appium安装包下载地址:https://bitbucket.org/appium/appium.app/downloads/

Appium python driver api入门:http://blog.csdn.net/hqzxsc2006/article/details/50112109

注:

目前百度智能云采用的Appium版本是 1.6.1(会随着时间推移逐渐更新),不同版本的Appium支持的api会略有区别,需要尤其注意。

相似文档
  • 手动编写UIautomator2.0测试脚本: 编写规范及样例下载: 操作步骤: 1.环境准备: android-sdk。 android studio。 aapt。 2.具体步骤: 假设被测应用为job.apk。 解析job.apk的信息,拿到包名(在我们的例子里是”com.baidu.mtc.preui”):
  • 手动编写iOS测试脚本: 操作步骤: 1.设备准备:一台Mac。 2.环境依赖:XCode7.3.1 目前最新版。 3.具体步骤。 将应用成功部署到模拟器上(这里以iPhone 6 Plus模拟器为例)。 Ps: 也可以使用真机,如果需要使用真机录制, 请打开 设置 -> 开发者 -> Enable UI Automation选项。
  • 介绍: 多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。
  • 自动化测试: 提供哪些自动化测试? 自动化测试是否支持iOS测试? 自动化测试是否支持PC/Pad的兼容性测试? 自动化测试如何测试App具体功能模块的兼容性? 自动化测试最多支持多少机型测试?都是真机吗?
  • 提供哪些自动化测试? MTC自动化测试服务包含:脚本兼容测试、深度兼容测试、安全漏洞扫描、探索兼容测试。 自动化测试是否支持iOS测试? 目前各类型兼容性测试、安全漏洞扫描服务均支持iOS测试,欢迎前往体验。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部