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

落花踏尽游何处,笑入胡姬酒肆中。这篇文章主要讲述多测师讲解 app---面试课程之复习(003)---高级讲师肖sir相关的知识,希望能为你提供帮助。
https://blog.csdn.net/duoluo9/article/details/77053815 详细操作 https://download.csdn.net/download/h514476785j/9505408 多方面资料   安卓测试和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;   二、常见的app测试工具(https://www.cnblogs.com/liyuanhong/articles/4887914.html) monkey robotium uiautomator appium athrum(同时支持ios和Android)   我们主讲appium框架 Appium简介 开源、跨平台、多语言支持的移动应用自动化工具   1、appium的原理: https://blog.csdn.net/zjnuwsf/article/details/76685660 1.appium是c/s模式的  2.appium是基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdriver一样的特性   appium有客户端和服务器两部分组成,客户端与服务器端通过json wire protocol进行通信 http://blog.csdn.net/jffhy2017/article/details/69220719   2、appium的优缺点: 优点: 支持多种应用程序测试 被测试的应用程序不需要特殊编译 脚本不限制语言和工具 支持应用之间的跳转 是一个跨平台的测试框架,可以使用同一个api开发出在android和ios上都可以运行 缺点: 该工具必须连接电脑才能实施自动化测试,遇到脱机执行的场景就不能满足需求 该工具只能用于UI的自动化测试,在很多情况下测试验证只能通过界面来进行   三、环境搭建 1、Android自动化环境搭建所需要的包: android-sdk appium(版本视情况而定) pip install Appium-Python-Client jdk python   2、环境原理:(在这里需要手动画并且引入Android_sdk) https://blog.csdn.net/jffhy2017/article/details/69220719   这个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平台进行开发所需要的一些开发工具  

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

文章图片
 
 
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:可以理解为是一个框架
多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

文章图片
 
 
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中输入以下指令获取包名
多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

文章图片
 
 
第三步:找到安装的包名:
多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

文章图片
 
 
第四步:输入exit指令退出shell 第五步:卸载,输入输入以下指令
多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

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

文章图片
 
 
    版本号一致检查 Android SDK里的版本号获取,APPNIUM里的安卓设置版本号,还有脚本里的平台版本号,需要都保持一致。
多测师讲解 app---面试课程之复习(003)---高级讲师肖sir

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

文章图片

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

文章图片

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

文章图片

常见问题: 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 命令就可以了  

    推荐阅读