一. 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. 使用Docker创建Elasticsearch服务

    一.Docker是什么? Docker是一个开源工具,能将一个WEB应用封装在一个轻量级,便携且独立的容器里,然后可以运行在几乎任何服务环境下.Docker的容器能使应用跑在任何服务器上并且表现一致. ...

  2. java URL 利用网址api 查出手机号归属地

    手机号码归属地查询api接口 1.淘宝网API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号码参数:tel:手机号码返 ...

  3. springboot整合fastjson 将null转成空字符串

    /** * @Auther: mxf * @Date: 2019/4/18 09:12 * @Description: */ @Configuration @EnableWebMvc public c ...

  4. Linux基础——硬盘分区、格式化及文件系统的管理

    1. 硬件设备与文件名的对应关系 掌握在Linux系统中,每个设备都被当初一个文件来对待. 设备 设备在Linux内的文件名 IDE硬盘 /dev/hd[a-d] SCSI硬盘 /dev/sd[a-p ...

  5. s5_day4作业

    # #流程控制练习题: # #==========>基础部分 # #练习一: # if True or False and False: # print('yes') # else: # pri ...

  6. 对象序列化与反序列化local class incompatible

    无论eclipse还是idea(默认关闭序列化提示,需手动打开),都可以自动生成相应的序列号,分为两类1L,XXXL. 当然如果不指定,系统也会自动生成,但是存在隐性风险 ,不同的编译器对同一个对象可 ...

  7. springmvc map

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

  8. iOS 和服务端交互 数据加密策略

    总体逻辑: 客户端:对称加密数据,上传...回执对称解密 同理服务端:获取上传数据 对称解密 ...下发:对称加密 当且仅当登录接口和 拉新(更新nonce 和 key的接口)是对称加密上传 非对称解 ...

  9. computeIfAbsent

    // java8之前,若从map中根据key获取value,如果key不存在,则添加,这一系列操作可以是下面的操作 Object key = map.get("key"); if ...

  10. SQL注入导图

    本图来自信安之路学生渗透小组@辽宁-web-TwoDog, 博主觉得这张图画的很好,所以贴在这里提供参考!