APP自动化测试实战之Appium介绍和环境准备

appium+Java实现自动化测试最新教程及实战 Appium+Java实现自动化测试保姆教学。设计测试用例,元素定位,实现参数化测试,代码优化 阅读详情
0X00 Appium 介绍

Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。
(1)“移动原生应用”是指那些用 iOS 或者 Android SDK 写的应用。
(2)“移动 web 应用”是指使用移动浏览器访问的应用(Appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。
(3)“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,我们在微信里可以查看网页,可以通过网页应用买电影票等。
重要的是,Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了 iOS 和 Android 测试套件间代码的复用性。

0X01 Appium 的理念

为了满足移动自动化需求,Appium 遵循着一种哲学,主要有以下4条:
(1)你无需为了自动化,而重新编译或者修改你的应用。
(2)你不必局限于某种语言或者框架来写和运行测试脚本。
(3)一个移动自动化的框架不应该在接口上重复造轮子。(移动自动化的接口应该统一)
(4)无论是精神上,还是名义上,都必须开源。

0X02 Appium 概念

C/S 架构
Appium 的核心是一个 web 服务器,它提供了一套 REST 的接口。它收到客户端的连接,监听到命令,接着在移动设备上执行这些命令,然后将执行结果放在 HTTP响应中返还给客户端。事实上,这种客户端/服务端的架构给予了许多的可能性:比如我们可以使用任何实现了该客户端的语言来写我们的测试代码。比如我们可以把服务端放在不同 的机器上。比如我们可以只写测试代码,然后使用云服务来执行命令。
Session
自动化始终围绕一个session进行,客户端初始化一个seesion(会话)来与服务端交互,不同的语言有不同的实现方式,但是他们最终都是发送为一个POST请求给服务端,请求中包含一个JSON对象,被称作“desired capabilities”。此时,服务端就会开启一个自动化的 session,然后返回一个 session ID,session ID将会被用户发送后续的命令。
Desired Capabilities
Desired capabilities 是一些键值对的集合 (比如,一个 map 或者 hash),客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。比如,我们可以把 platformName 这个 capability 设置为 iOS,告诉 Appium 服务端,我们想要一个iOS 的 session,而不是一个 Android 的。我们也可以设置 safariAllowPopups 这个 capability 为 true,确保在 Safari 自动化 session 中,我们可以使用 javascript 来打开新窗口。
Appium Server
Appium server 是用 Node.js 编写的一个服务器。我们可以用源码编译或者从 NPM 直接安装。
Appium Client
Appium Client 有很多语言库。包括 Java, Ruby, Python, PHP, JavaScript 和 C#,这些库都实现了 Appium 对 WebDriver 协议的扩展。当使用 Appium 的时候,你只需使用这些库代替常规的 WebDriver 库就可以了。
与其他测试框架对比

在这里插入图片描述

0X03 环境搭建

(请一路点击下一步)
1、安装appium
https://bitbucket.org/appium/appium.app/downloads/
或者
http://pan.baidu.com/s/1jGvAISu#list/path=%2F

2、安装.net(如果不能启动appium,就要安装.net环境)
http://dotnetsocial.cloudapp.net/GetDotnet?rClrVer=v4.0

3、安装node.js
https://nodejs.org/
验证是否安装成功:
在这里插入图片描述
4、安装夜神
https://www.yeshen.com/

5、安装Python(本机没Python环境则需要安装)
https://www.python.org/
6、安装Appium-Python-Client
pip install Appium-Python-Client

7、下载adt ,配置adb环境变量
32bit
http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
64bit
http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
mac
http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip

解压adt-bundle-windows-xxxx-20140702.zip 放到一个英文目录下,不要带中文。
配置:


变量名:ANDROID_HOME
变量值:D:\android\android-sdk-windows
找到path变量名—>“编辑”添加:
变量名:PATH
变量值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools


验证adb是否安装成功

在这里插入图片描述

实例验证。
启动夜神并在cmd命令行中输入adb devices 显示如下,说明有android驱动载入。
在这里插入图片描述
启动之后,在cmd下输入下面命令
adb connect 127.0.0.1:62001
adb devices
见到如下图所示就可以使用了。

在这里插入图片描述

appium——appium环境搭建及使用appium进行APP测试 appium——appium环境搭建及使用appium进行APP测试 1.环境搭建: (1)手机端操作(以红米手机为例) 进入【开发者模式】 【设置】——【我的设备】——【全部参数】——【MIUI版本】点击5次,即可打开开发者模式 打开USB调试及安装 在开发者选项中,打开【usb调试】、【usb安装】 (2)电脑端操作 android-sdk-tools环境搭建 1、安装installer_r24.4.1-windows.exe,中途一定要出现【java路径】再进行下一步 2、解压缩bu 阅读详情

相关推荐

Python+Appium自动化测试之appium连接真机启动app

app自动化测试的第一步,是启动被测app,环境搭建好后,我们就可以连接真机启动app了。环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让我们开始吧。 一,连接手机(测试机) 通过USB线连接Android手机和电脑,打开手机的开发者模式,开启USB调试模式(方法自行百度)。 打开cmd输入命令adb devices,显示连接手机的udid即为连接成功。 输入adb devices后如果List of devices attac

HB8888888的博客 2619

RPA 之 Appium.Net 自动化控制 Android App

另外,我这边尽量以.Net C#代码为主,也会提示如何用 Node.js 或者 java 敲代码,巴拉巴拉。适用于 Android 的 UiAutomator2 驱动程序装个 Android Studio 就差不多了,再配置一下 SDK 的版本,这一块,可以网上找资料。一下是具体的地址:https://github.com/appium/appium-desktop/releases/tag/v1.22.3-4https://github.com/appium/appium-inspector/releas

蓝创精英团队 3190

【Python自动化测试32】App自动化环境搭建

文章目录一、前言二、安装与环境搭建教学2.1 环境依赖2.2 appium程序安装2.3 appium-python-client2.4 模拟器安装2.5 java jdk安装2.6 Android SDK环境 一、前言   本文章主要讲解App自动化测试的环境搭建,在App自动化测试环境搭建中,有非常多的坑,很容易就安装错误,快来和笔者一起学习吧,除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~ 系列文章:   系列文章1:【Python自动

萌笑天的博客 2754

Appium .NET 客户端使用教程

Appium .NET 客户端使用教程 项目介绍 Appium .NET 客户端是一个扩展自官方 Selenium dotnet webdriver 的项目。它不仅包含了 Selenium 的所有功能,还添加了 Appium 特定的方法。该项目旨在为使用 .NET 语言的开发者提供一个方便的工具,以便自动化移动应用程序的测试。 项目快速启动 安装 首先,你需要通过 NuGet 安装 Appium ...

gitblog_01103的博客 943

【Appium+python实战】大麦抢票APP自动化实战(附带源码)

基于uiautomator2+Appium的MuMu模拟器自动化测试实战

weixin_61226361的博客 3129

Appium搭建MacOS环境下的iOS App自动化测试环境(Windows搭个MacOS虚拟机就行,亦无须iPhone)

前言 iOS的自动化测试无需Mac和iPhone,只要有Mac OS虚拟机和Xcode自带的iPhone模拟器即可,可以为初学者省下一笔资金。 为什么要写这篇教程 感谢国内积极发展的测试开发环境,让本人从Web自动化测试到安卓的自动化测试的入门都非常顺利,美中不足的是进展到iOS App自动化测试时国内外的资料都比较少,而且大多都已过时,故而写下此篇文章,希望能够为广大测试开发工程师朋友提供一些参考价值。 为了成为一个专业的测试开发工程师,检验自己的学习成果 撰稿时间 初稿时间:2021年6月13

欧世乐 2506

Appium移动自动化测试(二)--安装Android开发环境

这篇文章年久失修,请参考: appium新手入门(2)—— 安装 Android SDK ------- 继续Appium环境的搭建。   第二节  安装Android开发环境     如果你的环境是MAC那么可以直接跳过这一节。就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试脚本。那么移动端自动化测试,我们同样需要一部Android手机(手机...

weixin_34066347的博客 361

Python+android+appium App自动化测试环境搭建

本文详细介绍了搭建Python+Android+Appium自动化测试环境的完整流程。主要包括六个关键步骤:1)安装配置JDK1.8及以上版本;2)准备Android环境(仅需工具部分);3)安装Node.js;4)安装Appium服务端;5)通过pip安装Appium客户端;6)安装夜神模拟器(可选)。每个步骤都提供了下载地址、安装方法和环境变量配置说明,并强调验证方法。该指南帮助测试人员快速完成复杂的环境搭建工作,为后续App自动化测试奠定基础。

m0_60889254的博客 1146

Appium .NET 客户端开源项目常见问题解决方案

Appium .NET 客户端开源项目常见问题解决方案 项目基础介绍 Appium .NET Client 是一个基于 Selenium WebDriver 的扩展,专为自动化移动应用测试设计。它以C#为主要编程语言,允许开发者利用Appium的功能来控制iOS和Android设备上的应用程序。此驱动程序不仅包括Selenium客户端的标准功能,还叠加了Appium特有的方法,使移动应用自动化测试...

gitblog_00804的博客 828

python+Appium 实现app自动化测试详细讲解

一、环境准备 1.脚本语言:python 安装:pycharm 2.安装 Java jdk 、Android sdk 3.安装appium 二、首先,双击电脑中已经下载好一个的安装的程序,双击Appium-windows-1.17.1-1.exe安装包 进入到了的欢迎的界面中,勾选上 为使用这台电脑的任何人安装 选项,点击安装 等待安装完成 安装结束,点击完成按钮 安装完成后,启动Appium,host和port默认的即可,然后设置An...

qq_42412061的博客 6174

appium 自动化测试

一.准备工作 Appium 简介 Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。 Appium、Appium-desktop、Appium Client 的区别Appium:是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。 Appium-Desktop:是为了让

Nate的博客 8415

模拟器真机环境_iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

移动端的自动化测试,最常见的是 Android 自动化测试,我个人觉得 Android 的测试优先级会更高,也更开放,更容易测试;而 iOS 相较于 Android 要安全稳定的多,但也是一个必须测试的方向,这个系列文章记录了 iOS 自动化测试的一些实践。1.环境准备1.1 硬件环境- Macbook Pro(做 iOS 测试,Mac 是绕不开的,我们依赖的软件环境需要运行在 Mac 上,必须要...

weixin_39945795的博客 687

Appium + Python 测试全流程

使用 Appium + Python 框架进行移动自动化测试的完整流程。

Kant2048的博客 410

Appium移动自动化测试教程

Appium移动自动化测试全部教程本篇教程适合哪些人看?Appium简介?1. Appium是什么2. Appium的特点环境准备1. 安装JDK2. 安装Android SDK3. 安装Appium Server功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowch

王小白来了 1万+

〖Python APP 自动化测试实战篇③〗- Mac系统下 appium 环境的配置搭建

开始使用 "APPIUM" 编写脚本之前,必不可少的步骤就是搭建 "APPIUM" 这样一套测试框架的环境配置。相对于前面学习的接口测试、WEB自动化测试的环境搭建来说,"APPIUM" 的环境搭建相对复杂一些。

易编橙 · 终身成长社群,相遇已是上上签! 4万+

Xilinx VU+系列多DIE FPGA时序约束与跨DIE信号优化策略

本文深入探讨了Xilinx VU+系列多DIE FPGA的时序约束与跨DIE信号优化策略。针对2.5D/3D封装技术带来的时序挑战,详细解析了SLR区域约束、Laguna寄存器配置及跨时钟域约束等关键技术,提供了实用的TCL脚本和RTL优化示例,帮助开发者有效提升设计性能和时序收敛效率。

weixin_29209801的博客 655

IOS+Appium 自动化测试环境搭建

苹果设备的生态系统独具特色,iOS 应用开发和测试一直是开发者眼中的一座技术高峰。你是否也曾因为 iOS 自动化测试环境的复杂配置而抓耳挠腮?不用担心,这篇文章将带你轻松搞定 iOS + Appium 自动化测试环境搭建。如何搭建一个完整的 iOS + Appium 自动化测试环境?需要哪些工具和配置步骤才能让你顺利跑通第一个测试用例?随着移动互联网的快速发展,iOS 应用已经成为用户获取信息和服务的重要途径。自动化测试在提高开发效率和保障应用质量方面扮演了越来越重要的角色。

朱雀随云记的博客 1522

超频玩家必看:TestMem5配置文件详解与内存稳定性测试实战(含黄金参数包)

本文详细解析了TestMem5(TM5)在内存超频稳定性测试中的核心价值与实战应用,特别针对DRAM颗粒特性提供黄金参数配置。通过anta777等专业配置的深度剖析,指导超频玩家精准定位内存故障,优化时序参数,实现性能与稳定性的完美平衡。涵盖从初级验证到极限压测的全流程方案,是硬件发烧友提升系统稳定性的必备指南。

weixin_29198045的博客 1819

自动化测试之路 —— Appium安装教程

那么在日常的测试活动中,移动应用的质量保障就成为了各个测试团队的主要课题,面对高速迭代的功能、日益缩短的项目周期、逐渐庞大的人力与资源投入,以上的这些因素都会让测试团队不得不在项目中加入自动化测试策略。1.此笔记的中所使用的操作系统为Win 10,笔记中所涉及的软件版本有可能会因为时间的推移而导致不匹配或其他额外的操作,请大家有针对性的选择阅读与参考。3.Appium安装失败:如果使用的是npm安装,先确认安装源是否正确,另外尽量不用国外的源地址,配置国内的源可以最大限度的减少下载与安装的出错几率;....

Austin的博客 6617

DexProtector内存态匿名段检测绕过与dex重组技术

Dex文件是Android应用的核心执行单元,其结构规范(如header_item、class_def_item、code_item)决定了运行时加载与解析的底层逻辑。DexProtector通过将dex数据拆解为多个无文件名、受保护的内存匿名段(如[anon:dp_header]、[anon:dp_code]),规避传统基于文件特征或标准加载路径的检测机制。该策略依赖Android mmap内存管理与ART虚拟机对dex结构的刚性要求,形成可被观测的布局规律。理解其内存态组织原理,结合权限/大小/命名/内

weixin_30855761的博客 692

知识图谱的数据挖掘与分析

1. 背景介绍 1.1 数据挖掘的崛起 随着互联网的普及和大数据技术的发展,数据挖掘已经成为了计算机科学领域的热门研究方向。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过计算机科学、统计学、信息论等多学科交叉的方法,挖掘出有用信息和知识的过程。数据挖掘的目标是从数据中发现有

AI天才研究院 1600
上一篇: ActiveMQ漏洞利用
下一篇: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
Shannonnnn
博客等级 码龄10年 241粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值