当前位置: 首页 > news >正文

Python+Appium自动化环境搭建

appium工作原理

    appium 在android端工作流
  1. client端也就是我们 test script是我们的webdriver测试脚本。

  2. 中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调用对应的框架响应操作。

  3. appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,最终通过调用UiAutomator的命令来实现。

  4. 最后Bootstrap将执行的结果返回给appium server。

  5. appium server再将结果返回给 appium client。

一、环境准备

  win10版本  64位操作系统

  安卓机   6.0.1版本

  jdk  9.0.1 64位

  android-sdk   23(安卓6.0对应sdk23)

  python  2.7.14

  node.js  node-v8.12.0-x64.msi

  appium  appium-desktop-setup-1.7.1.exe

二、JDK下载安装

三、android-sdk下载安装

解压后,里面有个SDK manager.exe,设置 Android SDK Manager 国内镜像地址

  1. 启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options…」,弹出『Android SDK Manager – Settings』窗口;
  2. 在『Android SDK Manager – Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选中「Force https://… sources to be fetched using http://…」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager – Settings』窗口返回到主界面;
  3. 依次选择「Packages」、「Reload」。

四、android-sdk环境变量

    1.在系统变量新建:ANDROID_HOME,对应变量值为:D:\appium\android-sdk\android-sdk-windows(sdk安装路径)

    2.path添加两个变量D:\appium\android-sdk\android-sdk-windows\tools和D:\appium\android-sdk\android-sdk-windows\platform-tools

五、adb环境

   1.因为adb是在android-sdk-windows\platform-tools这个目录下的,所以上面添加了环境变量后,可以直接在cmd里面运行了。

   2.在cmd输入adb可以查看对应版本号

 六、连接手机

1.手机用数据线以USB连电脑

 2.打开cmd输入:adb devices,当屏幕上出现一串字符,后面显示device说明连接成功

七、python安装

八、安装node.js

九、安装appium

十、安装Appium-Python-Client

 1.前面python环境安装,已经准备好pip了,所以这里直接打开cmd,输入:pip install Appium-Python-Client

十一、获取apk包名

  1.将准备测试的APK放到D盘某个目录,如D:\test

  2.打开cmd,输入指令aapt dump badging D:\test\xxx.apk(APK的全名)

  package: name='XXX'

十二、获取launcherActivity

  1.接着上一步操作,cmd屏幕拖到中间l找到auncherActivity

  launchable-activity: name='XXXXXX'

十五、写脚本

# coding=utf-8
from appium import webdriver

desired_caps = {
'platformName': 'Android',
'deviceName': 'cdc7d766',
'platformVersion': '6.0',
# apk包名
'appPackage': 'XXX',
# apk的launcherActivity
'appActivity': 'XXXXXX'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

 

转载于:https://www.cnblogs.com/suitcases/p/9826227.html

相关文章:

  • Unity3D之Legacy动画系统学习笔记
  • 联想关键业务服务器 sysytem X3850 X6 4U机架式服务器
  • mysql 字符集乱码及解决方案
  • android搜索框列表布局,流程及主要步骤思维导图
  • gcc介绍及安装
  • java 中获得 资源文件方法
  • IF
  • oracle导出、导入的一次实战
  • hadoop集群管理系统搭建规划说明
  • wsdl自动生成Java代码,根据wsdl生成Java代码
  • 企业上云之机房和BGP带宽篇(三)
  • ios导航栏自定义返回按钮后,多出蓝点bug
  • 云盘关闭,教你用蒲公英搭建私有云
  • 显示MYSQL数据库信息
  • 1024程序员节,想讲下我盾这帮安全技术人的故事
  • $translatePartialLoader加载失败及解决方式
  • CSS 三角实现
  • exports和module.exports
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Lucene解析 - 基本概念
  • node学习系列之简单文件上传
  • TypeScript实现数据结构(一)栈,队列,链表
  • XForms - 更强大的Form
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 订阅Forge Viewer所有的事件
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 设计模式 开闭原则
  • k8s使用glusterfs实现动态持久化存储
  • 关于Android全面屏虚拟导航栏的适配总结
  • #Ubuntu(修改root信息)
  • #预处理和函数的对比以及条件编译
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C++17) optional的使用
  • (Java数据结构)ArrayList
  • (二)WCF的Binding模型
  • (剑指Offer)面试题34:丑数
  • (九十四)函数和二维数组
  • (四)鸿鹄云架构一服务注册中心
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (五)IO流之ByteArrayInput/OutputStream
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转载)从 Java 代码到 Java 堆
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET 8.0 中有哪些新的变化?
  • .NET Core 成都线下面基会拉开序幕
  • .net(C#)中String.Format如何使用
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .Net中间语言BeforeFieldInit
  • .考试倒计时43天!来提分啦!
  • []我的函数库
  • [1]-基于图搜索的路径规划基础