Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >appium教程_2.概念加深

appium教程_2.概念加深

作者头像
千往
发布于 2020-09-20 11:50:04
发布于 2020-09-20 11:50:04
9540
举报

appium教程_2.概念加深

启动步骤

安卓,driver为uiautomator2

通过查看appium server的日志来看整个启动过程

  1. 启动server,默认4723端口
  1. 通过/wd/hub/session接口,创建session,通过传参中的desired capabilities指定启动参数
  1. 通过本地的adb命令获取设备信息和设备API

如上图,device api是 19,这是一台安卓4的设备,后续我换成了安卓8的设备,api devel=27

  1. 给手机安装appium setting应用)
    1. 判断是否安装了appium setting应用
  1. 启动appium setting应用,进行一些设置
  1. 设置端口forward,用于UiAutomator2 Server,电脑端是8201 to 设备端的6790
  1. 判断是否安装了 uiautomator2.server
    1. 已安装的话,比较版本,安装较新的版本
    2. 签名
  1. 是否安装uiautomator2.test
    1. 已安装的话,比较版本,安装新的
    2. 签名
  2. 确认手机端的appium环境(instrumentation)是否OK,启动uiautomator2 server
  1. 启动服务,等待连接
  1. 通过session 获取设备信息
  1. respond 客户端,已经创建好了seesion
  1. 业务操作,我这里是获取当前current_activity
  1. 超时,自动delete seesion,默认60s

再看UiAutomator2

When client request to create a new AndroidDriver session, client passes desired capabilities to the appium node server. Based on the automationName property in the desired capabilities, appium redirects to the corresponding driver module (by default appium passes to appium-android-driver on the absence of automationName) If the automationName is uiautomator2 then appium redirects to appium-uiautomator2-driver to create the new session. UIAutomator2 Driver Module: Creates the session , installs the appium uiautomtor2 server apks on the device, starts the server(Netty) and initiates a Netty server session. UIAutomator2 Server Module: Once Netty server session initiated by driver module, server continues to listen on device for requests and responds accordingly until DELETE SESSION gets invoked.

再看流程

  1. 服务端启动端口,持续监听,默认为4723端口
  2. 客户端,通过http协议连接服务端,通过desired_caps来指定驱动,本例子为(UiAutomator2
  3. UiAutomator2 driver收到请求后创建session,准备环境
    1. 安装appium setting
    2. 安装uiautomator2 server
    3. 安装uiautomator2 test
    4. 设置端口forwart,电脑端(或者说server端)8201 转发到 手机端(或者说设备端)6290
    5. 启动环境,ready
    6. 应答client端
  4. 收到session创建ok的应答后,通过http请求发送指令
  5. server端在60s(默认超时时间)没有收到请求,自动删掉session
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
appium教程_1.基础概念认知
官网文档: http://appium.io/docs/cn/about-appium/intro/ 最好自行查阅,一下多为个人总结
千往
2020/09/08
2.2K0
appium教程_1.基础概念认知
Appium移动端自动化测试--capability使用和常用设备交互命令
Desired Capabilities是在启动一个 session 的时候是必须提供的一些参数。 Desired Capabilities 本质上是以 key value 字典的方式存放,客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。它告诉 appium Server这样一些事情:
软测小生
2020/02/13
1.2K0
Appium移动端自动化测试--capability使用和常用设备交互命令
appium+python自动化36-android7.0连不上的问题
前言 由于最近很多android手机升级到7.0系统了,有些小伙伴的appium版本用的还是1.4版本,在运行android7.0的app自动化时候遇到无法启动问题:WebDriverException: Message: A new session could not be created 我的电脑环境: python 3.6 android 7.0 appium 1.4.13 android7.0遇到问题 1.执行代码: # coding:utf-8 # 作者:上海-悠悠 from appium i
上海-悠悠
2018/04/13
1.8K0
appium+python自动化36-android7.0连不上的问题
Appium-Android多设备并发测试
只要你的Appium服务端口与 Appium bootstrap的端口在 0到 65536 之间,且端口号并不相同,这样两个Appium 服务器就不会去监听同一个端口。确保通过-u参数标志的 id与对应的设备id 是一致的。这就是 Appium 能知道设备之间是如何通信的原因,因此必须保证参数准确无误。
沈宥
2022/12/05
9880
软件测试|App自动化之Appium工作原理
并且是一个灵活的跨平台的测试自动化工具,可以在iOS、Android 或 Windows、Mac 设备上进行移动应用的自动化测试运行,并且能够使用相同的 API 编写多个平台的测试脚本;
霍格沃兹测试开发Muller老师
2023/01/06
1.6K0
Java自动化测试(adb常用命令 32)
adb adb「Android Bebug Bridge」是用来连接安卓和PC的桥梁 常用操作: 安装卸载apk 推送拷贝文件 查看设备硬件信息 查看应用程序占用资源 在设备执行shell命令 常用命令 帮助命令 $ adb help 检测连接到电脑的安卓设备 $ adb devices $ adb connect 127.0.0.1:62001 从手机上拉取信息到电脑上 $ adb pull <手机路径> <本地路径> 从电脑上提交信息到手机上 路径不能有中文和特殊字符 $ adb push <本地
zx钟
2020/09/28
2.2K0
Appium常用操作之「Toast提示信息获取」
安卓 4.4 以上的版本都是基于 UiAutomator,现在已经改为 UiAutomator2 了。所以 Toast 在原来的 UiAutomator 基础上没办法识别,没法识别的话就需要利用 UiAutomator2了。
清菡
2020/11/20
2.5K3
App自动化测试|Appium工作原理及Desired Capbilities配置
脚本请求——>4723端口appium server——>解析参数给PC端4724端口——>发送给设备4724端口——>通过设备4724端口发给bootstrap.jar——>Bootstrap.jar把命令发给uiautomator
霍格沃兹测试开发Muller老师
2023/01/13
2.6K0
Python+Appium从安装到第一个小练习(保姆级别教程)
确定确定确定,打开cmd运行测试一下是否安装成功,输入‘java -version’,成功
全栈程序员站长
2022/09/27
2.8K0
Python+Appium从安装到第一个小练习(保姆级别教程)
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
虫无涯
2023/12/13
5.4K0
『App自动化测试之Appium基础篇』| Desired Capabilities详解与使用
虫无涯
2023/12/12
2.4K0
win10上搭建appium自动化环境
以前都是在mac机器上搭建环境,觉得好麻烦,自己还曾今写了个脚本来一键搭建。 现在在win10上搭建,发现开始很容易,也会有一些坑。把这些坑都记录下来,也许将来可以翻翻。 前面已经搭建了java,android,node的环境,现在搭建appium是水到渠成了。 先去看看最新的版本是啥。打开官网appium.io有点慢,耐心等待。
赵云龙龙
2020/03/26
1.1K0
win10上搭建appium自动化环境
自动化-Appium-获取toast消息(Python版)
Android中的toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据所设置的显示时间自动消失。
wangmcn
2022/07/25
1.3K0
自动化-Appium-获取toast消息(Python版)
自动化-Appium-第一个Demo-原生(Python版)
1、启动PyCharm,创建My_Appium_Demo项目。创建demo包,之后创建脚本文件。例如:模拟器示例为Android_App_Simulator,真机示例为Android_App_RealMachine
wangmcn
2022/07/25
2.3K0
自动化-Appium-第一个Demo-原生(Python版)
Appium Android Toast元素识别
在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,那么我们该如何获取这些元素文字内容呢?
清风穆云
2021/08/09
1.4K0
自动化-Appium-获取toast消息(Java版)
Android中的toast是一种简易的消息提示框,toast提示框不能被用户点击,会根据所设置的显示时间自动消失。
wangmcn
2022/07/25
7340
自动化-Appium-获取toast消息(Java版)
Appium运行原理与机制
做测试开发的童鞋都知道,UI自动化你绕不开selenium, webdrvier, appium框架,那么这三者之间有什么关联,它们的原理是什么呢?
赵云龙龙
2019/07/11
2.6K0
Appium运行原理与机制
Python Appium 安卓自动化测试 基本使用 - Phone Spider
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用
EXI-小洲
2023/10/16
6040
Python Appium 安卓自动化测试 基本使用 - Phone Spider
前端工程师用Node.js + Appium实现APP自动化
最近在使用Appium做爬虫功能,网上全是python + Appium的教程,Appium也支持Node.js开发,作为前端工程师使用Node.js + Appium实现了自动化爬虫功能。
100000996525
2023/08/02
1.2K0
Appium环境部署及自动化实现
一、Appium介绍 appium主要是一个移动 App (手机应用)自动化工具框架。 特点: 1.开源 2.跨平台 3.多语言 二、Appium工作原理 三、环境部署 1.安装jdk 安装配置环境变量 2.安装appium-python-client类库 pip install appium-python-client 3.安装Appium Server 安装地址: https://github.com/appium/appium-desktop/releases/tag/v1.2
懿曲折扇情
2022/08/24
6950
Appium环境部署及自动化实现
推荐阅读
相关推荐
appium教程_1.基础概念认知
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档