Appium学习笔记——Appium初探,下载与安装以及初步的录制尝试

2024-06-18 07:48

本文主要是介绍Appium学习笔记——Appium初探,下载与安装以及初步的录制尝试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.Appium简介

Appium是一个开源测试自动化框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。Appium 坚持的测试理念:

•无需用户对 App 进行任何修改或者重新编译,App 应该 Born to be Automated。

•不应该限制用户只能使用特定的语言或者框架来编写和执行测试。

•移动测试框架的 API 应该是稳定的,合理的,不应对自动化 API 反复地造轮子。

•移动测试框架应该是开源的,包括“精神和肉体”。

 

它使用WebDriver协议驱动iOS,Android和Windows应用程序。

可以跨平台同时支持Android、iOS

支持多种语言,java、python、php、Ruby等等  

可支持屏幕录制生成脚本。

二.Appium的下载与安装

Appium、Appium-desktop、Appium Client 的区别

Appium:是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。

Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium-desktop。

Appium Client:Appium 只是一个 Web 接口,他接受 HTTP 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目。以下是各语言对 Appium Client 做的支持。

 

Appium Server就是Appium的服务端——使用Node.js实现。通过Appium Server,我们可以直接在命令行启动Appium的服务,而不需要启动Desktop,就可以直接运行测试脚本。下面是它的安装过程:

1.首先安装Node.js

Download | Node.js

选择windows对应版本进行安装即可。推荐 LTS 版本

2.安装 Appium

官方文档的安装方式(因为服务器在海外,因为众所周知的原因,基本安装不上):

• npm install -g appium

• 淘宝 cnpm (最稳定的方法)

• npm install -g cnpm --registry=https://registry.npm.taobao.org

• cnpm install -g appium

注意事项:安装需要本地有 python2 存在。如果只安装了python3的小伙伴,要先去下一个python2。

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

下载:

github地址:https://github.com/appium/appium-desktop/releases。选择对应自己操作系统的exe版本,比如我是windows系统,选择Appium-windows-1.19.1-beta.0.exe。

但是这个下载真的超级慢,而且下着下着就网络问题失败了。

这里提供两个我的下载地址,

一个是版本1.15.1

https://download.csdn.net/download/u011835956/13231833

一个是版本1.19.1

https://download.csdn.net/download/u011835956/13231840

下载后直接安装就可以啦~

三.Appium启动录制安卓测试的配置

启动后,注意保持真机链接状态,或者也可以使用模拟器。

启动后,点击那个类似搜索的放大镜图标,就可以展示到下面这个页面了。

在使用前,需要配置一些参数,这些参数相当于录制前的一些配置,保证你的app正常启动。

我目前要做Android方向的测试,所以这里的配置是针对安卓的,Ios和其他的还没研究。

这里整理了一些介绍参数配置的博客:

Android版DesiredCapabilities参数配置:(1条消息) Android版DesiredCapabilities参数配置_weixin_30955617的博客-CSDN博客

desired capabilities参数介绍:android自动化之desired capabilities(启动一个app会话) - 吃个鱼丸 - 博客园 (cnblogs.com)

我最终的配置效果如下:

 

其中的noReset如果不设置为true的话,每次都会重置应用的状态,比如每次都要重新登录。左边自己添加对应的字段后,会在右边自动生成如下的json代码。也可以自己直接在右边写。这边写好以后记得保存一下哦~

{
  "platformName": "Android",
  "platformVersion": "9.0",
  "appPackage": "cn.maketion.activity",
  "appActivity": "cn.maketion.app.ActivityFlash",
  "deviceName": "vivo V1813BT",
  "noReset": true
}

然后点击start session就可以开始录制啦~!

录制就比较简单了,自己点点也能明白,或者网上搜索别人的教程哦~

录制的过程中,会生成对应的自动化测试代码,在上面可以切换不同的语言。我这里选择python。

把文件内存拷贝出来,保存在一个py文件中,比如文件名为 a.py

若第一次使用,按照生成的代码中的提示

# pip install Appium-Python-Client

在cmd中,先执行pip install Appium-Python-Client,安装相应的环境。

然后执行 python a.py

就可以执行自动化的脚本拉。当然这些只是初步尝试,后续加油~

 

这篇关于Appium学习笔记——Appium初探,下载与安装以及初步的录制尝试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071696

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]