appium自动化测试(一)
一. appium的引入
二. adb
adb(Android Debug Brige)是用来连接安卓手机和PC端的调试桥梁,通过adb服务,在PC端命令行界面对手机或者模拟器进行全面的操作
安装:
adb是一个可执行文件,在SDK文件目录platform-tools下
adb的操作是通过cmd命令的dos窗口来实现的,所以要配置环境变量
安卓开发套件:ADT工具
adt-bundle-windows-x86-64-20140702
三. adb常用命令
adb devices 检测连接到电脑的安卓设备,这是是我们后期会经常用到的检测命令
adb pull <手机文件全路径> <本机路径> 从手机中拉取信息放到本地电脑上
adb push <本机文件全路径> <手机路径> 从本地推送信息到手机上去
adb install xxxx.apk 安装apk包,返回success就说明安装成功了
adb uninstall 包名 卸载apk
adb shell dumpsys activity | find "mFocusedActivity" 获取当前正在前台使用的app包名
adb start-server 当adb出现问题或者adb启动不起来的时候,先kill然后start
adb kill-server
adb shell ---登录设备shell(命令行的人机界面), ll ls命令都可以用,进入到linux命令环境了,相当于执行远程命令!
四. 环境安装
五. 运行原理—和web-selenium的比较
六. 移动端自带框架
移动端系统自带的自动化框架:
iOS9.3 及以上:苹果的 XCUITest
iOS9.3 及以下:苹果的UIAutomation
Android 4.2+:谷歌的UIAutomator
Android 2.3+:谷歌的Instrumentation(通过绑定另外的项目—Selendroid提供Instrumentation的支持)
◆ 不需要把Appium特定的或者第三方的代码编译进你的应用
◆ 意味着你测试使用的应用与最终发布的应用并无二致
七. appium
1. appium是开源、跨平台的自动化测试工具。支持本地、移动端app、桌面app测试
2. 平台支持IOS模拟器(simulators)、安卓模拟器(emulators)、真机(IOS、Android、MAC、Windows)
八. Desired Capabilities
九. Appium的理念
Appium旨在满足移动端自动化需求的理念,概述为以下四个原则:
◆ 你没有必要为了自动化而重新编译你的应用或者以任何方式修改它
Android/IOS系统自带框架
◆ 你不应该被限制在特定的语言或框架上来编写运行测试
WebDriver API
客户端—服务器协议(称为JSON Wire Protocol)
◆ 移动端自动化框架在自动化接口方面不应该重造轮子
WebDriver—Web浏览器自动化的标准
附加可用于移动自动化的API方法
◆ 移动端自动化框架应该开源,不但在名义上而且在精神和实践上都要实至名归
Appium开源
最新文章
- How to use the function of assembly.
- JDBC详解(转)
- 【redis】05Redis的常用命令及高级应用
- ACTIVEX 重新安装与卸载
- 《A First Course in Probability》-chape1-组合分析-二项式定理
- hdu 1700 Points on Cycle 水几何
- const类型变量的详细解读
- oracle存储过程出现ORA-01403: 未找到数据 问题解决方法
- 【python】Django自定义模板函数
- HDU.5765.Bonds(DP 高维前缀和)
- Linux下解包/打包,压缩/解压命令
- windows 10 下sublime text 3配置c/c++编译环境
- 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
- Linux+Redis实战教程_day02_Linux系统上安装MySQL
- JAVA自定义注解 和 运行时靠 反射获取注解,解决 shiro 注解型权限因子获取问题
- CF620E New Year Tree 线段树 dfs序
- jsonUtils&;&;Json、Xml转换工具Jackson使用
- [SpringBoot] - 配置文件的多种形式及优先级
- 02_Storm集群部署
- java代码---------常用的方法indexOf()和substring()方法的小结、主要是下标都是从0开始,很重要,错了就那个差远了啊
热门文章
- python 里面的单下划线与双下划线的区别(私有和保护)
- javascript教程5:--BOM操作
- django-Query Ajax 实例 ($.ajax、$.post、$.get)
- django博客项目11
- 我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法
- Django - 权限(4)- queryset、二级菜单的默认显示、动态显示按钮权限
- 算法题 21 findNSum (好未来,LeetCode,牛客网)
- IIS Internet Information Service
- python全栈开发从入门到放弃之元组的内置应用
- ul,li设置inline-block缝隙