Appium详解

article/2025/9/23 8:49:33

一、Appium安装

1、安装JDK(1.8.0)并配置环境

 1、JDK文件下载安装下载JDK文件,点击运行安装2、配置环境(1)新建一个名为“JAVA_HOME”的环境变量,变量值为JDK的安装路径(2)选择Path,点击下方的“编辑”按钮,在弹出的窗口中添加如下信息:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(3)新建一个名为“classpath”的环境变量,变量值为:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar3、在CMD窗口输入java -version进行验证,若出现JDK版本号则证明安装成功

2、安装Andorid SDK(建议使用29版本)

1、下载Andorid SDK文件,点击进行安装(默认安装到C盘)
2、安装完SDK之后,双击Andorid SDK Manager,在Andorid SDK Manager中安装相关工具
3、选择所需要的tools(默认图中前三个),点击红框中的按钮进行安装(这个安装过程时间较长)
注:链接文件中有已经下载好的sdk,直接解压就可以配置系统环境了,截图为在Andorid SDK Manager安装相关工具操作

在这里插入图片描述

4、环境配置(1)新建ANDROID_HOME变量,变量值为Andorid SDK的路径(2)Path变量中设置参数值为:%ANDROID_HOME%\platform-tools%ANDROID_HOME%\tools(若在一行则两个值中间有分号,不在一行则没有分号)
5、在CMD中输入adb命令,出现版本号则说明安装成功

3、安装NodeJs

1、下载NodeJS文件,点击进行安装,典型Win安装方式-一路狂点下去(安装路径可进行修改)
2、环境变量会自动进行配置,在CMD中运行node -v    npm -v分别查看版本号

4、安装appium

1、下载appium-desktop文件,点击进行安装
2、配置相关环境变量

5、安装python和pycharm

1、先安装python-3.5.0(32位和64位按照自己电脑配置进行选择)
2、再安装pycharm
在这里插入图片描述
注:网上有其他详细的安装教程,这里做一个大概介绍

二、Appium-Desktop使用

1、开启Appium

1、安装完毕之后,点击桌面图标进行运行
2、Simple为基础设置、Advanced为高级设置、Presets为预设(用于保存在Advance中设置的参数)    一般保持默认值(host和port保持默认值)
3、点击Start Server v1.18.0开启Appium

2、Appium Session
在这里插入图片描述
3、开启Appium Server
在这里插入图片描述
4、生成脚本

1、可在左侧app页面使用选择工具选择相应元素,在使用Select Element内的工具生成脚本

在这里插入图片描述

5、python脚本(登录及退出登录操作)

  from appium import webdriverimport time
##创建一个字典,用于存储设备和应用信息desired_caps={
#连接的设备信息"platformName": "Android","deviceName": "E6EDU20526024947",
##进行会话的apk信息,包名和Activity名"appPackage": "xxxxx",    "appActivity": "xxxxxxx",
##一些参数设置"unicodeKeyBoard": True}
#与appium session之间建立联系,括号内为appium服务地址driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#一些基于app的操作(包括但不限于点击、输入等,与monkeyDriver所使用的命令相同,都是基于python语言的)
#下面的一些操作是用Appium录制的脚本,appium录制的脚本一般使用byid方法来定位元素driver.find_element_by_id("cn.phzdp:id/tv_i_know").click()driver.find_element_by_id("cn.phzdp:id/tv_change_login_type").click()driver.find_element_by_id("cn.phzdp:id/et_input_phone").send_keys("15837320000")driver.find_element_by_id("cn.phzdp:id/et_input_pwd").send_keys("qqqq2222")driver.find_element_by_id("cn.phzdp:id/tv_login").click()driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()time.sleep(1)   #暂停1秒,需要导入timedriver.find_element_by_id("cn.phzdp:id/iv_tabIcon4").click()driver.find_element_by_id("cn.phzdp:id/iv_setting").click()driver.find_element_by_id("cn.phzdp:id/tv_logout").click()driver.find_element_by_id("cn.phzdp:id/tv_left").click()

使用python脚本来进行appium自动化测试的时候,需要开启appium服务

appium自动化脚本与Selenium在元素定位这方面很相似;同时与MonkeyRunner的区别在于MonkeyRunner是利用坐标来进行元素定位的,appium可以使用不同的方法来进行元素定位

如有问题欢迎指正,共同交流学习

【Appium全家桶:链接:https://pan.baidu.com/s/1YxRMwETjE2wVRqw5JO4aSw 提取码:79i0】


http://chatgpt.dhexx.cn/article/MIVY58hx.shtml

相关文章

appium工作原理详讲

appium简介 appium是一个移动端自动化框架,它采用C/S的设计模式,支持多类开发语言(java python js c#…)、支持多平台(ios android),支持跨平台使用(windows linux)。它适用于原生或混合移动应用; appium…

Appium自动化测试基础 — APPium基本原理

1、APPium自动化测试架构 APPium是一个C/S架构的自动化测试框架,APPium的核心其实是一个暴露了一系列REST API的server。(也就是Appium的核心是一个提供了一组REST API的Web服务器。) 这个server的功能其实很简单:监听一个端口&a…

Appium的工作原理终于搞清楚了

目录 1. Appium简介 1.1 Appium的理念 1.2 Appium 的设计 1.3 Appium 的概念 2. Appium原理架构 3. appium的工作流程 4. Appium-Uiautomator2-Server 4.1 Appium-Uiautomator2-Server简介 4.2 appium-uiautomator2-server运行原理 4.3 bootstrap vs appium-uiautoma…

APP自动化测试系列之Appium介绍及运行原理

在面试APP自动化时,有的面试官可能会问Appium的运行原理,以下介绍Appium运行原理。 一、Appium介绍 1.Appium概念 Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用WebDriver协议驱动IOS&#xf…

Appium工作原理

一、Appium工作原理 1、Appium启动的时候,会创建一个http\\127.0.0.1:4723\wd\hub服务端(中转站) 2、4723端口接收client(也就是测试脚本)发来的请求,解析对应的请求 3、appium server把对应的请求发给bootstrap.jar,它…

蓝桥杯C/C++ 基础练习 十六进制转八进制 C语言

题目: 分析: 思路:先将十六进制转为二进制,然后将二进制转为八进制 遇到的问题如下: 1、输入格式和输出格式,决定了需要用数组存储十六进制数、二进制数以及八进制数。由于有多个字符串(多位…

蓝桥杯——十六进制转八进制(Java解法)

这道题其实挺难的,之前做过一次,用的十六进制转化为十进制,然后用十进制再转化为八进制,代码很简单,用的jdk上自带的进制转换进行换算。 import java.util.Scanner; /** * author 作者 E-mail: WYJ 1627407425qq.com…

蓝桥杯-十六进制转八进制(Java)

蓝桥杯-十六进制转八进制(Java) 最近在练习算法题,打算应付一下下学期的蓝桥杯,写写博客记录一下我的学习过程,对算法感兴趣的朋友可以给小编点点关注(重要的事情加上强调标志,o( ̄︶ ̄)o),这个假…

蓝桥杯C语言 十六进制转八进制

十六进制转八进制 思路分析: 39十六进制先转换为4位二进制,3为0011,9为1001,所以39的二进制为00111001,又把二进制转化为3位八进制,从右边开始数,001为1,111为7,所以39的八进制为71。…

十六进制转换八进制

问题描述 给定n个十六进制正整数&#xff0c;输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n &#xff08;1<n<10&#xff09;。   接下来n行&#xff0c;每行一个由09、大写字母AF组成的字符串&#xff0c;表示要转换的十六进制正整数&#xff0…

蓝桥杯练习:C语言十六进制转八进制

这题对我来说是有点难度的,最后做出来,但是提交显示 运行错误,看不出哪里出错了. 我的思路: 将十六进制转化为二进制,二进制最后转化为八进制. 首先将十六进制存入数组,然后将数组中每一位转化为对应的十进制数,之后将再将每一位十进制数转化为二进制数,将这些二进制数以每三…

C语言十六进制转八进制

思路&#xff1a;将十六进制先转为十进制再转为八进制 十六进制转十进制:与二进制转十进制类似。对十六进制每个数从左往右依次乘16的0,1,2,......并相加得到相应的十进制。 比如&#xff1a;对123ABC&#xff0c;1216&#xff08;0&#xff09;1116&#xff08;1&#xff09…

XPC U盘启动盘的制作

XPC U盘启动盘的制作 对于XPC目标机的启动&#xff0c;我们可以通过网络、硬盘或者 U盘启动目标机。这里介绍一下通过U盘的气动&#xff0c;因为这个相对而言比较简单。 选择一个4G以下的U盘&#xff0c;最好为2G选择一台XP系统的电脑&#xff08;最好为工控机&#xff0c;必…

XPC调试记录 :TwinCAT生成XML配置文件

XPC调试记录&#xff1a;生成XML配置文件20210316 1.连接目标控制器 硬件准备&#xff1a;用一根网线将配置有EtherCAT的电脑和EK1100&#xff08;BECOHOFF总线模块&#xff09;网线插槽X2(OUT)相连。&#xff08;正常初始化配置时对应指示灯闪烁&#xff09; &#xff08;1&a…

iOS 冰与火之歌 - 利用 XPC 过 App 沙盒

蒸米是阿里巴巴的移动安全工程师&#xff0c;香港中文大学博士&#xff0c;也是发现并命名了XcodeGhost的人。这次他所在的iOS安全小组发现了影响最新版iOS 9.3的0day漏洞。此漏洞杀伤力巨大&#xff0c;在非越狱手机上一个app应用可以利用这个漏洞做到读取或者修改沙盒外其他a…

xPC信号采集和分析(1)

背景介绍 在我的上篇文章用虚拟机在一台电脑上实现xPC实时仿真&#xff0c;进行xPC实时仿真的过程中&#xff0c;需要将仿真数据进行记录以便后续分析处理。xPC目标的信号采集过程是通过实时内核来完成的。实时应用程序的信号数据存储在目标机的RAM中&#xff0c;xPC目标程序支…

建模simulink - 手把手教你搭建xpc平台

概述 xpc半实物仿真目标是个基于RTW对低端实时仿真和开发平台,可将计算机或者工控机转变为一个实时系统,不需要第三方操作系统对支持,在计算机上配置输入输入出设备就能和外部交换信息,进行硬件再换仿真和测控系统开发。 目前mathworks已经放弃来xpc target这个说法,而改用…

xPC信号采集和分析(2)

背景介绍 上一篇文章xPC信号采集和分析&#xff08;1&#xff09;里面&#xff0c;解决了自己在使用第二种方法&#xff1a;信号记录模式对xPC数据进行记录过程中的一些问题。 然而很多情况下&#xff0c;我们需要采用第三种信号跟踪模式对实时任务中的数据进行实时传输并可视…

matlab中xpcapi库的调用,关于MATLAB中xpc实时控制平台搭建的心得

Xpc target主机—目标机通讯平台的搭建 一、用u盘制作XPC的目标启动盘 U盘启动盘制作的关键是找对dos系统软件包和相应的读写软件,我也是找了很久而不得要领。开始时,我是下载了一个网上的dos系统软件包,然后用ultriso写入u盘中,然而并不成功,试了几次后,才找到合适的软件…

建模simulink - xpc自定义模块

概述 在实际项目设计中,使用simulink提供的基本模块很难实现的时候,此时就需要一种用户可以自定义的方式,定做自己的模块。 在这种情况下,Matlab的s函数应运而生,S-函数是系统函数(System Function)的简称,又称S-function,支持用户使用C语言、C++、Matlab等语言编写自己…