码迷,mamicode.com
首页 > 移动开发 > 详细

多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

时间:2020-10-24 09:44:49      阅读:38      评论:0      收藏:0      [点我收藏+]

标签:amp   doc   工具   ica   install   程序   sdn   download   firefox   

 
安卓测试和web端测试的区别?
一、android自动化测试基础知识注意分三大块:
1、框架选取
2、应用场景
性能测试:关键路径的性能测试
稳定性测试
功能测试:常用核心功能点测试
兼容性测试
接口测试
单元测试
线上监控测试
3、总结
 
二、领域
可测对象
原生应用APP、混合应用APP、移动Web App
APP运行环境:真机、模拟器
 
测试对象App运行平台
IOS、Android(目前这两种是市场主流);Windows、FirefoxOS。
测试程序运行平台支持 Windows、Linux、Mac OS;
 
支持的测试语言
python、Java、ruby、php、js、C#;主流是python;
 
monkey
robotium
uiautomator
appium
athrum(同时支持ios和Android)
 
我们主讲appium框架
Appium简介
开源、跨平台、多语言支持的移动应用自动化工具
 
1、appium的原理:
1.appium是c/s模式的 
2.appium是基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdriver一样的特性
 
appium有客户端和服务器两部分组成,客户端与服务器端通过json wire protocol进行通信
 
2、appium的优缺点:
优点:
支持多种应用程序测试
被测试的应用程序不需要特殊编译
脚本不限制语言和工具
支持应用之间的跳转
是一个跨平台的测试框架,可以使用同一个api开发出在android和ios上都可以运行
缺点:
该工具必须连接电脑才能实施自动化测试,遇到脱机执行的场景就不能满足需求
该工具只能用于UI的自动化测试,在很多情况下测试验证只能通过界面来进行
 
三、环境搭建
1、Android自动化环境搭建所需要的包:
android-sdk
appium(版本视情况而定)
pip install Appium-Python-Client
jdk
python
 
2、环境原理:(在这里需要手动画并且引入Android_sdk)
 
这个server的主要功能:监听一个端口,然后接收由client发送来的命令(command)。解析这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给server, server再把执行结果返回给client。
 
问题:什么是Android_sdk?
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
SDK:
SDK (Software Development Kit)翻译成中文就是"软体开发工具组"
是用来帮一个 产品 或 平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。
通常是 某一家厂商 针对某一 平台 或 系统 或 硬体 所发布出来用以开发应用程式的工具组,在这个工具包里面,可能包含了各式各样的开发工具,模拟器等。给 Android平台 使用的 Android SDK 就是用来开发 Android系统上面的应用程式。
SDK下包的说明:
1:add-ons:Android开发需要的第三方文件和软件库
2:docs:Android的文档。包括开发指南、API参考、资源等
3:extras:扩展的附加包
4:platforms:你安装下载的所有Android平台,分版本存放
5:platform-tools:平台相关的工具
6:samples:所有的样例程序
7:system-images:系统使用的图片
8:temp:临时操作或缓存的目录
9:tools:应用Android平台进行开发所需要的一些开发工具
 技术图片

 

 

appium针对android的自动化原理
 
1.测试电脑client端是test script也就是webdriver测试脚本
2.server是appium在服务端开启的(默认端口是4723),appium server接受client发送的请求,解析请求内容,调用对应的框架响应操作。
3.appium server把请求转发给中间件Bootstrap.jar,Bootstrap.jar安装在设备上监听4723端口 并接收appium的命令,再调用UiAutomator的命令执行。
4.Bootstrap把执行的结果返回给appium server,appium server再把结果返回给appium client。
appium原理总结
 
appium client执行脚本,appium server把请求转发到bootstrap.js或者是bootstrap.jar然后再由bootstrap驱动UiAutomation或者UiAutomator去设备上完成具体的命令操作。
再把执行结果通过bootstrap.js或者是bootstrap.jar返回给appium server ,再由appium server发送给appium client。
 
注意:Bootstrap:可以理解为是一个框架
技术图片

 

 

3、常见adb指令(挑重点演示)
adb命令模式:
adb工具用法(占用端口号为:5037):
app封装.noteadb devices 列出当前所有可连设备
adb get-state获取设备状态(device(连接正常),offline(连接异常),unknown(未连接))
adb kill-server(关闭adb服务) , adb start-server(启动adb服务)
adb shell进入linux
adb logcat(显示安卓系统日志)
adb install(安装应用)带参数-r表示覆盖安装,后面接APK包名称adb install baiduwangpan_589.apk
adb uninstall(卸载应用)带参数-k表示卸载后保留数据和缓存,后面接包路径adb uninstall com.baidu.netdisk
adb reboot(重启手机)
adb reboot-bootloader(重启手机进入fastboot模式)
adb recovery(重启手机进入刷机模式)
adb pull /sdcard/xingyongbao.apk:将手机(模拟器)中的文件发送到本地,存放路径就是你的当前dos路径
adb push xx.apk /sdcard/将本地文件拷贝到模拟器和手机中
 
注意:在卸载包时其包名与安装的报名不一样,怎么获取安装后的包名
第一步:在dos窗口输入:adb shell
第二步:shell中输入以下指令获取包名
技术图片

 

 

第三步:找到安装的包名:
技术图片

 

 

第四步:输入exit指令退出shell
第五步:卸载,输入输入以下指令
技术图片

 

 

 
 
adb shell命令模式:(了解即可)
pm install(安装应用)同上
pm uninstall(卸载应用)同上
pm list packages(列出所有已安装包)
 
4、环境搭建过程:见详细搭建文档
 
 
 
appium工具设置
点击设置图标
1、  可以对里边的server地址端口进行修改。
2、  当session不一致时实行覆盖。
3、  输出log文件方便查看执行的过程及结果。
技术图片

 

 

 
 
版本号一致检查
Android SDK里的版本号获取,APPNIUM里的安卓设置版本号,还有脚本里的平台版本号,需要都保持一致。
技术图片

技术图片

 

 技术图片

 

技术图片

常见问题:
1.Adb deviecs问答
通过DOS命令,执行查看连接手机情况,出现如下异常
C:\Users\xu.lei>adb devices
List of devices attached
adb server version (31) doesn‘t match this client (39); killing...
error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application‘s support team for more information.
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
 
原因分析:
这个是socket 的端口被占用了,我这里是因为360手机助手占用了这个端口,所以其他的就不能够用了。
查看端口被谁占用的方法有两个
第1个方法是采用DOS命令,
netstat –nao
第2个方法是windows系统自带的"资源管理器"能查看端口使用情况,具体操作方法如下:
 
(1)如下图红色箭头标记,鼠标右键单击任务栏空白处,在弹出的右键菜单里选择"任务管理器":
 
(2)如下图红色圆圈标记,在"任务管理器"里,切换到"性能"选项卡,再点击"打开资源管理器":
 
(3)在"资源管理器"里,点击"网络",在"网络活动的进程"中勾选需要查询的进程,这时最下面一栏"侦听端口"就会显示这个进程(软件)所使用的端口了:
 
 
解决办法:
卸载了360的手机助手就可以了,
 
首先 打开360安全卫士,点击右下角的 "更多+"-》点击"我的工具"-》点击左下角的"编辑"-》点击"手机助手"上面的X号
 
这个时候可能会删除不了,那么就要删除手机助手的进程,如图里面的360Mobile。。这些,然后就可以删除了
然后再执行adb 命令就可以了
 

多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

标签:amp   doc   工具   ica   install   程序   sdn   download   firefox   

原文地址:https://www.cnblogs.com/xiaolehua/p/13863221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!