Appium环境搭建及元素定位

Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用WebDriver 协议驱动iOS,Android和Windows应用程序。

01 环境搭建步骤

Appium环境安装:

第一步安装 appium 桌面版客户端

Appium-1.12.1.dmg(MAC环境)/Appium-windows-1.12.1.exe

第二步安装 Appium-Python-Client

pip install Appium-Python-Client pip3 install Appium-Python-Client -i https://pypi.tuna.ts inghua.edu.cn/simple

注意:本版要>=0.29,通过pip list 可以查看版本号

第三步安装 selenium

pip install selenium

注意:本版要>=3.141.0

第四步安装 Android SDK

下载Android SDK,并配置环境变量

第五步安装 夜神模拟器

运行nox_setup_v6.2.8.0_full.exe

MAC 运行 .dmg

  • 第六步
  • 将Android SDK中 platform-tools路径下的adb.exe 复制到模拟器安装路径下的bin目录替换原有的adb.exe 删除原有的nox_adb.exe,将新的adb.exe复制一份改名nox_adb.exe
  • 第七步启动设置
  • 第八步
  • 打开模拟器,启动appium 桌面版客户端服务运行以下代码

02 Appium 原理

Capability

Appium Desktop

Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。它是几个Appium相关工具的组合:

Appium Server的图形界面。您可以设置选项,启动/停止服务器,查看日志等...您也不需要使用Node 的NPM来安装Appium,因为Node运行时与Appium Desktop捆绑在一起

您可以使用Inspector查看应用程序的元素,获取有关它们的基本信息,并与它们进行基本的交互

Appium-desktop主界面包含三个菜单Simple、Advanced、Presets

Simple

设置Appium server的ip地址,本地调试可以将ip地址修改为127.0.0.1 port

设置端口号,默认是4723不用修改

Advanced

高级参数配置修改,主要是一些Android和iOS设备,log路径等相关信息的配置。

第一个appium脚本

03 capability - 参数介绍

  • 公共 capability

  • Android 独有capability

  • IOS 独有capability

启动过程【了解】

  • appium的启动实际上是在本机使用了4723端口开启了一个服务,我们写的 python 代码会访问本机的 appium 服务器,并获取 driver 对象
  • appium 会将我们的 driver 对象调用的方法转化成 post 请求,提交给appium服务器
  • appium 通过接收到的 post 请求发送给手机,再由手机进行执行

02 Appium元素信息的获取

01 UIAutomatorViewer的使用

用来扫描和分析 Android 应用程序的 UI 控件的工具

使用步骤:

1. 进入SDK目录下的目录

mac 在 tools/bin 目录下,打开 uiautomatorviewer windows 在 tools 目录下,打开 uiautomatorviewer.bat

2. 电脑连接真机或打开android模拟器

3. 启动待测试app

4. 点击 uiautomatorviewer 的左上角 Device Screenshot (从左数第二个按钮)

5. 点击希望查看的控件

查看右下角 Node Detail 相关信息示例

查看《设置》应用程序右上角 ”放大镜“ 按钮的 ”resource-id“

打开 uiautomatorviewer

打开 android 模拟器启动《设置》应用程序

点击 Device Screenshot 按钮点击 ”WLAN“ 按钮

查看 Node Detail 中的 ”resource-id“ 信息

02         Appium inspector使用

操作步骤

配置应用信息

定位方式

03 Appium元素定位

定位一个元素

案例:启动设置,定位搜索按钮

ID定位

注意:定位id值不唯一

accessibility_id定位

案例同上,元素值唯一

xpath定位

案例同上

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143490.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

比亚迪高歌猛进背后,高端市场攻坚与出海风险并存

比亚迪高速扩张的繁荣表象之下,仍遭遇高端市场挑战,全球化征程面临可持续性考验。 转载:科技新知 原创 作者丨颜曌 编辑丨蕨影 比亚迪的发展史,堪称我国新能源汽车品牌的缩影。如今在全球新能源市场越来越有影响力的比亚迪&…

自动化测试需要学什么【附学习路线和学习教程】

随着自动化测试行业的薪酬越来越高,平均月薪早在很多年前就已破万,也有越来越多的人愿意投身测试行业,成为一名测试工程师,这些人当中也有相当多的一部分是测试行业的小白,并不知道自动化测试需要学习哪些内容 在放上…

第二届Apache Flink极客挑战赛冠军比赛攻略_SkyPeaceLL队

关联比赛: 第二届 Apache Flink极客挑战赛 赛题介绍 指定的数据集一、病例行动数据集 病例历史行动数据集(训练集1) 1M确诊病例数据 (测试集1) 500实时病例行动数据集(测试集2) 1000二、天猫精灵行为数据…

【服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)

文章目录 一、阿里云OSS对象存储服务介绍二、服务开通与使用准备1、准备工作2、开通OSS云服务(新用户免费使用三个月)3、创建存储空间bucket4、创建并保存Accesskey5、配置访问凭证AK & SK(系统环境变量) 三、阿里云OSS使用步…

codemirror 代码在线编辑器基本使用

CodeMirror 是一个强大的基于浏览器的文本编辑器组件,主要用于网页中创建可编辑的源代码区域,特别适用于编写和展示程序代码。它支持多种编程语言的语法高亮、代码折叠、自动补全、查找替换等多种高级编辑特性。 npm install vue-codemirror --save 或者…

张恒汝的个人简介:招生宣传用

张恒汝,男,九三学社社员,博士,教授,硕士生导师,机器学习研究中心副主任,四川省学术和技术带头人后备人选,中国科协科技人才奖项评审专家,四川省网络安全与信息化技术专家…

HarmonyOS开发实战( Beta5.0)使用GTest测试C++案例

鸿蒙HarmonyOS开发往期必看: HarmonyOS NEXT应用开发性能实践总结 最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通) 介绍 本示例主要介绍如何在HarmonyOS NEXT应用中使用GTest测试…

基于Java的学生档案管理系统的设计与实现

基于springbootvue实现的学生档案管理系统 (源码L文ppt)4-065 第4章 系统设计 4.1 总体功能设计 学生档案管理系统的总体功能设计包括学生信息管理、课程管理、教师信息管理、成绩管理和系统配置管理。系统将提供用户友好的界面,支…

Cpp类和对象(上)(3)

文章目录 前言一、面向过程与面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及类的封装类的访问限定符类的封装 五、类的作用域(类域)六、类的实例化七、类对象模型如何计算类对象的大小类对象的存储方式猜测 八、this指针this指针的引出this指针的特性 九、C语言…

天池Fashion AI 比赛失败经历分享

关联比赛: FashionAI全球挑战赛—服饰关键点定位 昨天是天池Fashion AI初赛Deadline, 成绩出来复赛都没能进,虽然结果很遗憾,但在比赛的过程中也接触到了不少的新东西,希望能在这里把我尝试过的方法都分享出来。作为对自己的总结…

EPLAN中如何切换编辑区的背景颜色为黑色?

EPLAN中如何切换编辑区的背景颜色为黑色? 如下图所示,打开EPLAN软件,打开或新建一个项目, 如下图所示,点击选项----设置, 在弹出的窗口中找到用户----图形的编辑------2D,在右侧找到颜色设置---…

便携式气象监测站的工作原理

型号:TH-BQX9】便携式气象环境监测站是一种集数据采集、处理、传输于一体的便携式设备,主要用于实时、准确地监测环境中的多种气象要素。便携式气象环境监测站通常能够监测多种气象参数,包括但不限于温度、湿度、风速、风向、气压、降雨量、太…

Java虚拟机 - 实战篇

一、内存调优 1. 什么是内存泄漏 (1)内存溢出和内存泄漏 2. 监控Java内存的常用工具 (1)Top命令 (2)VisualVM (3)Arthas (4)Prometheus Grafana &#xff…

【C++STL简介】——我与C++的不解之缘(八)

前言 学过了C的模版,接下来学习C中的STL(标准模版库),先来了解一下STL是啥 一、什么是STL STL(standard template libaray 标准模版库):是C标准库的重要组成部分,不仅是一个可复用的…

cmake的下载与安装

介绍: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。 能够输出各种各样的makefile或者project文件,能测试编译器所支持的C特性,类似UNIX下的automake。 CMake 的组态档取名为…

[Java]SpringBoot能力进阶

配置优先级 SpringBoot中支持三种格式的配置文件 优先级: application.properties文件 > application.yml文件 > application.yaml文件 SpringBoot除了通过配置文件配置属性, 还支持Java系统属性和命令行参数的方式 进行属性配置 1.在IDEA中配置java系统属性和命令行参…

网络安全-shire写任务计划、反弹shell、写私钥

目录 一、环境 二、 介绍 三、开始做题 四、写公钥 一、环境 网上自己找 二、 介绍 我们经过前面文章很清楚知道,shiro是将数据存储在内存当中,内存落盘实现一个数据存储,而当其结合python,python将登录的session存储到shiro里…

python绘制月亮

import matplotlib import matplotlib.pyplot as plt import moviepy.editor as mpymatplotlib.rcParams[font.family] SimHei# 坐标列表 positions [(0, 0), (1 / 4, 1 / 4), (1 / 3, 1 / 4), (1 / 2, 1 / 4), (2 / 3, 1 / 4),(3 / 4, 1 / 4), (1, 1 / 4), (5 / 4, 1 / 4), …

桌面上的文件突然不见了怎么找回?快速恢复技巧分享

在日常使用电脑的过程中,我们习惯于将经常使用的文件或者快捷方式放置在桌面上,以便于快速访问。然而,有时我们会发现桌面上的某些文件突然不见了,这可能会让人感到惊慌和困惑。面对这种情况,我们应该如何找回这些突然…

路由器全局配置DHCP实验简述

一、路由器配置 reset saved-configuration Warning: The action will delete the saved configuration in the device. The configuration will be erased to reconfigure. Continue? [Y/N]:y Warning: Now clearing the configuration in the device. Info: Succeeded in c…