Appium 自动化测试从入门到精通,零基础也能听懂

1.Appium介绍

1,appium是开源的移动端自动化测试框架;
2,appium可以测试原生的、混合的、以及移动端的web项目;
3,appium可以测试ios,android应用(当然了,还有firefoxos);
4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上;

2.Appium基本原理

在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤
用UiAutomator的命令,实现App的自动化测试。
UiAutomator测试框架是AndroidSDK自带的AppUI自动化测试Java库。
另外由于UiAutomator对H5的支持有限,appium引入了chromedriver以及
safaridriver等来实现基于H5的自动化。

 

2.1.appium在android端工作流


1.client端也就是我们testscript是我们的webdriver测试脚本。
2.中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),
跟seleniumWebdriver测试框架类似,Appium⽀持标准的WebDriver
JSONWireProtocol。在这里提供它提供了一套REST的接口,AppiumServer接
收webdriverclient标准rest请求,解析请求内容,调⽤用对应的框架响应
操作。
3.appiumserver会把请求转发给中间件Bootstrap.jar,它是用java写的,安装
在手机上.Bootstrap监听4724端口并接收appium的命令,最终通过调⽤用
UiAutomator的命令来实现。
4.最后Bootstrap将执行的结果返回给appiumserver。
5.appiumserver再将结果返回给appiumclient。

3.Appium安装配置

3.1.限制

如果你在windows上安装appium,你没法使用预编译专用于OSX的.app文件,
你也将不能测试IOSapps,因为appium依赖OSX专用的库来支持IOS测试。这
意味着你只能通过在mac上来运行IOS的app测试。这点限制挺大。
3.2.傻瓜式安装node.js

 

 3.2.1.查看是否安装成功

nodejs安装完毕后,需要配置环境变量
在PATH中添加:D:\ProgramFiles\nodejs;

3.3.傻瓜式安装Appium

 

 3.3.1.成功界面

 3.4.配置appium环境变量

D:\Appium\node_modules\.bin

 

3.5.打开控制台,查看appium环境
3.5.1.appium-doctor

3.6.配置Android—环境变量

D:\androidSDK

 3.7.Python中配置appium环境(联网)
进入:D:\python\Scripts
打开控制台:
pipinstallAppium-Python-client

3.8.总结:

1) androidsdk安装完毕后,需要配置环境变量
新建ANDROID_HOME
在PATH中添加:%ANDROID_HOME%:\.....
2) nodejs安装完毕后,需要配置环境变量
在PATH中添加:D:\ProgramFiles\nodejs;
3) appium安装完毕后,需要配置环境变量
D:\ProgramFiles(x86)\Appium\node_modules\.bin;
4) 配置好后,启动cmd,
输入node-v,查看node安装版本
输入appium-doctor检查appium的安装环境是否成功,
5) 安装Python,配置环境变量

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记一次mybatis-plus的argument type mismatch报错

起初以为是boolean和数据库的tinyint不匹配导致&#xff0c;找了一天之后想起来把整个lambda注释掉发现list直接无法运行&#xff0c;说明问题不在boolean List<BmsBillboard> list bmsBillboardService.list(new LambdaQueryWrapper<BmsBillboard>().eq(BmsBillb…

盘点六款颇具潜力的伪原创AI工具

写作作为信息传递的主要媒介&#xff0c;在庞大的信息海洋中&#xff0c;为了在激烈的竞争中脱颖而出&#xff0c;伪原创AI工具成为越来越多写手的神秘利器。在本文中&#xff0c;我们将深入盘点六款颇具潜力的伪原创AI工具&#xff0c;为你揭开它们神秘的面纱。 1. 文心一言 …

【android开发-17】android中SQLite数据库CRUD详细介绍

1&#xff0c;SQLite数据库读写的操作步骤 在Android中&#xff0c;对SQLite数据库的操作主要包括以下步骤&#xff1a; 1&#xff0c;创建数据库&#xff1a;首先&#xff0c;您需要创建一个SQLite数据库。这可以通过在Android项目中创建一个新的类来实现&#xff0c;该类继…

操作系统内部机制学习

切换线程时需要保存什么 函数需要保存吗&#xff1f;函数在Flash上&#xff0c;不会被破坏&#xff0c;无需保存。函数执行到了哪里&#xff1f;需要保存吗&#xff1f;需要保存。全局变量需要保存吗&#xff1f;全局变量在内存上&#xff0c;无需保存。局部变量需要保存吗&am…

OpenWRT搭建本地web站点并结合内网穿透实现公网远程访问

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器&#xff0c;目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器&#xff0c;并且和…

ubuntu22.04安装 nvidia-cudnn

nvidia-cudnn 是 NVIDIA CUDA 深度神经网络库&#xff08;CUDA Deep Neural Network library&#xff09;的缩写。这是一个由 NVIDIA 提供的库&#xff0c;用于加速深度学习应用程序。它包含了针对深度神经网络中常用操作&#xff08;如卷积、池化、归一化、激活层等&#xff0…

如何使用cpolar+Inis在Ubuntu系统快速搭建本地博客网站公网可访问

文章目录 前言1. Inis博客网站搭建1.1. Inis博客网站下载和安装1.2 Inis博客网站测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总…

go 编译apk

首先进行安装go 安装 wget https://studygolang.com/dl/golang/go1.21.5.linux-amd64.tar.gz tar zxvf go1.21.5.linux-amd64.tar.gz mv go /usr/local/ vim /etc/profile # 进行配置环境变量&#xff1a; export GOROOT/usr/local/go export PATH$PATH:$GOROOT/bin # 保存退…

推荐算法:HNSW【推荐出与用户搜索的类似的/用户感兴趣的商品】

HNSW算法概述 HNSW&#xff08;Hierarchical Navigable Small Word&#xff09;算法算是目前推荐领域里面常用的ANN&#xff08;Approximate Nearest Neighbor&#xff09;算法了。其目的就是在极大量的候选集当中如何快速地找到一个query最近邻的k个元素。 要找到一个query的…

风控之Android设备指纹技术

标识性参数——Android ID、IMEI、OAID非标识性参数 非标识性参数——手机运营商 1 设备指纹 简单来讲&#xff0c;设备指纹是指用于标识出该设备的设备特征。可以是单一设备特征&#xff0c;也可以是多种设备特征的组合&#xff0c;以方便风控系统对设备的唯一性进行识别。…

BSN实名DID服务发布会将于12月12日在北京召开

当前&#xff0c;数字身份已经成为实现经济健康发展与社会和谐安全稳定的重要基础&#xff0c;同时也是激发数据要素价值&#xff0c;支持数字经济快速发展的重要手段&#xff0c;在数字中国建设中发挥着至关重要的作用。 2016年&#xff0c;经国家发展改革委批准&#xff0c;…

2023.12.9 关于 Spring Boot 事务传播机制详解

目录 事务传播机制 七大事务传播机制 支持当前调用链上的事务 Propagation.REQUIRED Propagation.SUPPORTS Propagation.MANDATORY 不支持当前调用链上的事务 Propagation.REQUIRES_NEW Propagation.NOT_SUPPORTED Propagation.NEVER 嵌套事务 Propagation.NESTED…

币圈新贵Blast,一条可以帮助用户赚钱的Layer2!

Blast在短短两天内实现了超过2亿美元的TVL飙升&#xff0c;这一迅猛增长让整个低迷已久的Layer2市场感到震惊。尽管Blast主网要到二月份才正式上线&#xff0c;但这并未能阻挡用户们热情地锁仓。截至目前&#xff0c;Blast已经吸引了超过75,000名用户&#xff0c;总锁定价值已经…

直流电和交流电

直流电&#xff08;Direct Current&#xff0c;简称DC&#xff09;和交流电&#xff08;Alternating Current&#xff0c;简称AC&#xff09;是电流的两种基本形式。 1. 直流电 直流电是指电流方向始终保持不变的电流。在直流电中&#xff0c;电子只能沿着一个方向移动。直流电…

UEFI下Windows10和Ubuntu22.04双系统安装图解

目录 简介制作U盘启动盘并从U盘启动电脑安装系统安装Windows系统安装Ubuntu 附录双系统时间不一致 简介 传统 Legacy BIOS主板下的操作系统安装可参考本人博客 U盘系统盘制作与系统安装&#xff08;详细图解&#xff09; &#xff0c;本文介绍UEFI主板下的双系统安装&#xff…

快手商品采集API商品列表API商品详情数据API接口获取快手商品信息API

背景介绍 快手商城是快手平台上的一个电商购物频道&#xff0c;类似于淘宝、京东等商城&#xff0c;用户可以通过搜索或者快手 App 首页的一级入口进入。目前&#xff0c;快手商城正在招商中&#xff0c;今年双 11 期间&#xff0c;快手将力推短视频、直播间、店铺、商城这一全…

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(三)——serverless数据分析

3 serverless数据分析 大纲 3 serverless数据分析3.1 创建Lambda3.2 创建API Gateway3.3 结果3.4 总结 3.1 创建Lambda 在Lambda中&#xff0c;我们将使用python3作为代码语言。 步骤图例1、入口2、创建&#xff08;我们选择使用python3.7&#xff09;3、IAM权限&#xff08;…

C# 数据的保存和提取(.TXT格式)

红色部分的才是最终版 一、将页面内容保存到文件中 第一步 创建Visual的Windows窗体应用,使用的是 第二步 创建几个Label控件、TextBox控件、以及Button按钮,而TextBox控件放入Panel中 第三步 先对写法进行了解,了解保存的语句 StreamWriter sw= new StreamWriter(TXT…

自定义类型详解(1)

文章目录 目录1. 结构体1.1 结构的基础知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 3. 枚举3.1 枚举类型…

Appium python自动化测试系列之移动自动化测试!

1.1 移动自动化测试现状 因为软件行业越来越发达&#xff0c;用户的接受度也在不断提高&#xff0c;所以对软件质量的要求也随之提高&#xff0c;当然这个也要分行业&#xff0c;但这个还是包含了大部分。因为成本、质量的变化现在对自动化测试的重视度越来越高&#xff0c;在…