一. 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开源

appium自动化测试(一)的更多相关文章

  1. Appium自动化测试3之获取apk包名和launcherActivity后续

    接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...

  2. 记安卓appium自动化测试实践

    一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...

  3. 你的第一个自动化测试:Appium 自动化测试

    前言: 这是让你掌握 App 自动化的文章 一.前期准备 本文版权归作者和博客园共有,原创作者:http://www.cnblogs.com/BenLam,未经作者同意必须在文章页面给出原文连接. 1 ...

  4. Appium自动化测试环境搭建

    前言 Appium是一个开源的自动化测试框架,支持跨平台,支持多种编程语言,可用于原生,混合和移动web应用程序,使用webdriver驱动ios,android应用程序.那么为了学习app自动化测试 ...

  5. Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)

    简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...

  6. Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platfo ...

  7. Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...

  8. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

  9. Appium+python自动化(四十二)-Appium自动化测试框架综合实践- 寿终正寝完结篇(超详解)

    1.简介 按照上一篇的计划,今天给小伙伴们分享执行测试用例,生成测试报告,以及自动化平台.今天这篇分享讲解完.Appium自动化测试框架就要告一段落了. 2.执行测试用例&报告生成 测试报告, ...

  10. 全网最新方法:Win10下如何安装和搭建appium自动化测试环境

    为了方便大家,下面是本人安装和搭建appium所需要的软件,自取. 链接:https://pan.baidu.com/s/1wl5Xnos4BmnSZsBRd6B5YA#list/path=%2F  ...

随机推荐

  1. C#中的另类语法

    一..net中return的另类写法: 不知道是从3.5还是从4.0开始C#语法中的return有了新的写法示例如下: public string functionDemo() {       str ...

  2. java.lang.instrument: 一个Java对象占用多少字节?

    一.对象头包括两部分信息:Mark Word(标记字段)和 Klass Pointer(类型指针)   1. Mark Word 用于存储对象自身的运行时数据,如哈希码(HashCode).GC分代年 ...

  3. subprocess 模块 与终端相互交互

    import subprocess ''' sh-3.2# ls /Users/egon/Desktop |grep txt$ mysql.txt tt.txt 事物.txt ''' #1 Linux ...

  4. 使用ansible 完成yum安装lamp环境

    使用ansible 完成yum安装lamp环境 [root@node2 ~]# cd /etc/ansible/playbook/[root@node2 playbook]# lslamp[root@ ...

  5. Java并发之——线程池

    一. 线程池介绍 1.1 简介 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡 ...

  6. redmine集成git

    步骤: redmine服务器 1.  在下载安装GIT客户端 下载地址: https://git-scm.com/ 2.    在redmine服务器上将对应项目的git镜像到本地(不是源码下载到本地 ...

  7. JAVA寄存器

    所有进程都使用寄存器,Java虚拟机使用下列寄存器管理系统堆栈:    程序记数寄存器:跟踪程序执行的准确位置    堆栈指针寄存器:指示操作栈项    框架寄存器:指向当前执行的环境    变量寄存 ...

  8. springmvc map

    /** * 目标方法可以添加 Map 类型(实际上也可以是 Model 类型或 ModelMap 类型)的参数. * @param map * @return */ @RequestMapping(& ...

  9. python约束 与MD5加密写法

    python 中约束写法有两种 1 常用的通过继承关系主动抛出异常  2 通过抽象类+抽象方法 1 常用的通过继承关系主动抛出异常写法 在本send方法中报错不会抛出异常, class BaseMes ...

  10. python之路 面向对象进阶篇

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...