Appium自动化架构和Selenium有很大的相似之处

包含了 个主体部分 :

Test script --- 即我们的测试程序,是测试逻辑的实现部分。就像以前我们的Selenium自动化脚本。

而且和Selenium一样,可以使用多种语言,Appium 客户端库也支持多种语言。

一般运行在pc、上,或者苹果笔记本、台式机

Appium Server ---这是一个用 javascript代码实现的程序。 是运行在 Node.js 里面的。

被测试app --- 运行在真实设备或者模拟器中

过程及运行逻辑:

我们开发的的自动化程序(Test script) 运行各种测试脚本

告诉  Appium Server,我们要做什么操作

Appium Server接收到 测试程序的命令后, 又是怎么真正的控制移动设备上的app的呢?

原来appium 是自己开发一个自动化模块(或者叫应用),安装在移动设备中的,如同一个木马

appium开发的木马,通过使用 各个移动APP开发平台 自带的 自动化框架来实现的

appium在移动设备上会注入测试模块,测试模块会调用这些自动化框架提供库,从而控制设备和操作app。

安装Appium Python Client 包
安装Appium Python Client 包的命令
pip install Appium-Python-Client
github网址

安装 Appium Server
下载安装Appium Desktop的安装包
下载地址 https://github.com/appium/appium-desktop/releases/latest 下载扩展名为.exe的包

安装JDK
到 oracle 官方网站下载JDK 1.8 的安装包,进行安装
设置环境变量 JAVA_HOME 为 jdk 的根目录 比如 d:\tools\java\jdk1.8.0_121
参考我之前的文章
https://blog.csdn.net/sgpy406/article/details/83120234

安装 Android SDK

也需要配置环境变量
设置环境变量 android_home 的值为 sdk 目录
可参考:https://blog.csdn.net/sgpy406/article/details/83120332

举例子:
先创建目录 d:\android\sdk
打开 https://developer.android.google.cn/studio/(可能会被墙,和谐社会,科学上网)
下载 sdk-tools包 到 d:\android\sdk,进入\tools\bin\ ,执行如下命令,进行下载安装
sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.2"

手机连接电脑
找到一个安卓设备,将其连接到电脑上,cmd窗口下,确保可以被命令 adb devices -l 检测到

运行自动化测试
运行Appium Server,并设置、启动服务
运行自动化脚本

初学appium时,会接触的代码:

#在python界面,导入库
from appium import webdriver

#新建一个空字典
desired_caps = {}
#设备对应系统
desired_caps['platformName'] = 'Android'
#系统对应版本
desired_caps['platformVersion'] = '6.0'
#需要一个设备名称
desired_caps['deviceName'] = 'test'
#如果app未安装在手机上,填写你apk所在的路径,运行时会帮你安装
desired_caps['app'] = r'e:\apk\yourapp.apk'
#应用程序的包名
desired_caps['appPackage'] = 'io.manong.developerdaily'
#app里面的Activity,需要另外获取,后续一篇会涉及
desired_caps['appActivity'] = 'io.toutiao.android.ui.activity.LaunchActivity'
#涉及中文时  此选项需要注意
desired_caps['unicodeKeyboard']  = True
#
desired_caps['resetKeyboard']  = True
#操作完成后,需不需要重置
desired_caps['noReset'] = True
#appium server 认为 和客户端之间 无响应最大时间,超过这个时间就会停止服务
desired_caps['newCommandTimeout'] = 6000

#启动Remote RPC

# appium server 在这个URI上接收 客户端发送的rest API请求
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

Appium笔记1--基于python windows下的环境搭建相关推荐

  1. pythonspark安装_Spark学习笔记--Spark在Windows下的环境搭建

    本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...

  2. FlasCC Windows下开发环境搭建

    Windows版本的FlasCC需要用到Cygwin环境. Cygwin环境是一个类Linux的环境.它使得我们可以在Windows下运行基于POSIX标准的系统(如LINUX,BSD,UNIX)的可 ...

  3. 二、Spark在Windows下的环境搭建

    由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spar ...

  4. 安卓转战React-Native之windows下android环境搭建爬坑血泪史

    前言 最近又有新的项目立项,所以好久都没有写博客了,然后都是利用闲暇时间来学习React-native. 由于安卓和ios的就业环境给移动端开发带来前所未有的冲击,于是乎很多伙伴们不得不另谋他路,然后 ...

  5. gRPC在Windows下开发环境搭建(MinGW)

    在Windows下通过MinGW编译gRPC, 并对官方提供的Demo进行编译和测试,本文章记录了从gRPC开发环境搭建到编译,最后测试样例程序全过程,测试结果说明配置过程是正确的.同时本文章可以给广 ...

  6. cocos2d-x 3.0rc开发指南:Windows下Android环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 安装工具 1. 配置JDK JDK下载地址:http://www.oracle.com/technetwork/java/ja ...

  7. Windows下VideoPose3D 环境搭建搭建

    Windows下VideoPose3D成功运行记录1:环境搭建 - 哔哩哔哩 (bilibili.com) 这是facebook的框架,D2.感兴趣的可以玩一下.

  8. 《C++笔记 环境搭建》第0章 Windows下C++环境搭建

    开发环境: 系统:Windows JDK:jdk-8u201-windows-x64 Eclipse:eclipse-cpp-2018-12-R-win32-x86_64 C++编译器:mingw 0 ...

  9. python入门-windows下anaconda环境搭建

    1. anaconda下载 根据根据自己系统下载32位还是64位,还有版本 python3.6--64bit python3.6--32bit python2.7--64bit python2.7-- ...

最新文章

  1. PowerDesigner生成数据库
  2. 【No.1_sizeof与strlen】
  3. SpringBoot中的@ConfigurationProperties
  4. onclick 拼接时如何传递json对象
  5. 【Kafka】Elasticsearch 与 Kafka 整合剖析
  6. python scrapy爬虫遇见301_python Scrapy框架 报301
  7. linux小红帽实验心得,小红帽心得体会.doc
  8. Mybatis源码概览(一)
  9. mysql php教程笔记_Mysql学习笔记(一)
  10. 100个Python实战项目(十二)Python 并发图像下载器
  11. DDOS hulk,rudy
  12. 大数据自学全套教程,免费分享,赶紧码起来!(纯干货系列)
  13. 蓝桥杯:座次问题(枚举法 回溯) java
  14. 阿里云压缩包无法分享解决方案
  15. 业务流程再造理论的起源、演进及发展趋势
  16. 【CodeForces645G】Armistice Area Apportionment
  17. JS-修改图片颜色值
  18. 词法分析器的生成器——lex/flex
  19. IEEE ICCSE 2022 Call for Papers (征文公告)
  20. 行业研究-全球与中国牙科电子病历软件市场现状及未来发展趋势

热门文章

  1. Linux字符设备驱动-KEY-input子系统
  2. flash软件_FAL软件包的使用:FLASH分区管理
  3. PHP类实例教程(二十):PHP类接口的实现接口
  4. 2021ICPC网络赛第二场The 2021 ICPC Asia Regionals Online Contest (II) 【L Euler Function】
  5. HyperLynx(二十五)电源完整性之直流压降分析(二)
  6. 计算机网络主要由哪三个部分组成,计算机网络由哪几个部份组成
  7. Lync Server 2013视频会议架构
  8. Teradata金融业仓库逻辑模型(FS-LDM)
  9. 计算机在物理学中应用论文3000字,大学物理论文3000字
  10. c语言3个数最大公约数和最小公倍数,初学c语言【3】欧几里得算法求最小公倍数和最大公约数...