java APP自动化测试AppIum

news2024/11/29 6:27:25

一、前言
二、Appium环境搭建
2.1 JDK安装
2.2 Android SDK安装配置
2.3 模拟器安装及配置
2.4 Appium Desktop安装及使用
2.5 Appium配置连接模拟器
三、实战基本脚本编写
3.1 创建Maven项目并配置
3.2 简单Demo
四、写在最后
 

一、前言
随着移动互联网的发展,APP上面的测试逐渐的流行起来。而作为APP自动化测试中最常用的框架就是Appium。Appium是一个开源、跨平台的测试框架。可以用来测试原生及混合的移动端应用。
下面就从Appium环境搭建和基础脚本编写来展开。其中Appium环境搭建中,需要安装JDK、Android SDK、模拟器(或者用真机),从而后续就是使用代码连接Appium来操作模拟器。

二、Appium环境搭建
2.1 JDK安装
关于JDK的安装及环境变量配置就不在这里多做解释了。

2.2 Android SDK安装配置
下载压缩包文件

链接:这是一个链接
提取码:99a6

解压后点击打开SDK Manager.exe文件


勾选Tools下的前三个选项,并安装,安装完成后目录下回多出几个文件夹。


环境变量配置
ANDROID_HOME:SDK安装目录
Path:%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools;


验证配置:输入adb和aapt有使用帮助信息说明配置成功了

2.3 模拟器安装及配置
安装模拟器,这里选择的是夜神模拟器,安装的话,直接网上下载后安装即可,记住安装目录即可

打开模拟器并安装APK文件

查看服务是否启动

adb devices
nox_adb.exe connect 127.0.0.1:62001

踩坑问题——adb.exe与nox_adb.exe版本问题
使用adb version、nox_adb version命令查看bin目录下adb.exe、
nox_adb.exe的版本,然后切换到其他目录下,使用adb version查看版本。
如果不一致,就要将Android SDK目录下的adb.exe复制替换到模拟器bin目录下,
并且复制修改名称为nox_adb.exe替换模拟器bin目录下的nox_adb.exe
 

2.4 Appium Desktop安装及使用
  • 下载安装包文件

    链接:这是一个链接
    提取码:99a6

  • 点击安装appium-desktop-Setup-1.3.1.exe文件,直接点击安装即可。

2.5 Appium配置连接模拟器
  • 使用命令查看Android版本
    adb shell getprop ro.build.version.release
    

使用命令APK文件信息

aapt dump badging D:\BaiduMap.apk

Appium 创建连接

{
"platformName": "Android",
"platformVersion": "5.1.1",
"deviceName": "127.0.0.1:62001",
"appPackage": "com.baidu.BaiduMap",
"appActivity": "com.baidu.baidumaps.WelcomeScreen"
}

开启链接后的效果

在模拟器中操作app

三、实战基本脚本编写

3.1 创建Maven项目并配置
<dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>7.5.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>3.141.59</version>
        </dependency>
/**
 * @author YFF
 * @version 1.0.0
 * @date 2020/06/06
 **/
public class AppTest {
    public static void main(String[] args) throws Exception{
        AppiumDriver driver=null;
        DesiredCapabilities cap=new DesiredCapabilities();
        cap.setCapability("platformName","Android");
        cap.setCapability("platformVersion","5.1.1");
        cap.setCapability("deviceName","127.0.0.1:62001");
        cap.setCapability("appPackage","com.baidu.BaiduMap");
        cap.setCapability("appActivity","com.baidu.baidumaps.WelcomeScreen");
        cap.setCapability("unicodeKeyboard","true");
        cap.setCapability("resetKeyboard","true");
        cap.setCapability("noSign","true");
        driver=new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);
        Thread.sleep(5000);

        /*点击同意按钮*/
        driver.findElement(By.id("com.baidu.BaiduMap:id/ok_btn")).click();

        Thread.sleep(5000);
        /*点击进入地图*/
        driver.findElement(By.id("com.baidu.BaiduMap:id/btn_enter_map")).click();


        Thread.sleep(5000);
        driver.quit();

    }
}

四、写在最后

(1)将这个过程中常用的命令写在后面,方面后面查阅。

##模拟器连接
nox_adb.exe connect 127.0.0.1:62001

##查看设备信息
adb devices

##查看Android版本
adb shell getprop ro.build.version.release

##查看APK信息
aapt dump badging D:\BaiduMap.apk

##查看adb.exe和nox_adb.exe版本
adb version
nox_adb version

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

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

相关文章

数电票试点新增5地,本文教您如何应对新变化

数电票试点新增五地&#xff01; 10月27日&#xff0c;北京、贵州、山东、湖南、宁夏5省市税局相继发布《关于开展全面数字化的电子发票试点工作的公告》&#xff0c;宣布自11月1日起正式推行“数电票”开票试点。 根据各地发布的公告&#xff0c;自2023年11月1日起&#xff…

【蓝桥每日一题]-二分类型(保姆级教程 篇3) #路标设置 #跳石头

今天接着讲二分题型 目录 题目&#xff1a;路标设置 思路&#xff1a; 题目&#xff1a;跳石头 思路&#xff1a; 题目&#xff1a;路标设置 思路&#xff1a; 求&#xff1a;放n个路标后的最小空旷指数 二分查找&#xff1a;对空旷指数进行二分 二分依据: 该空旷指数下放…

CollageIt 3 Pro for mac:打造你的独特拼贴艺术,让创意无限可能

CollageIt 3 Pro for mac 是一款让用户在短时间内创作出令人惊叹的拼贴艺术的软件。这款强大的拼贴制作工具是专为 Mac 用户设计的&#xff0c;使创作拼贴画变得更加简单和高效。 CollageIt 3 Pro for mac 提供了丰富的拼贴元素&#xff0c;包括背景、图像、文本等&#xff0c…

c++实现观察者模式

前言 我觉得这是最有意思的模式&#xff0c;其中一个动&#xff0c;另外的自动跟着动。发布-订阅&#xff0c;我觉得很巧妙。 代码 头文件 #pragma once #include<vector> #include<string> #include<iostream>// 抽象观察者 class Aobserver { public:v…

第二证券:涨停板被打开说明什么?

涨停板&#xff0c;是股票价格动摇的限制性规则。简略来说&#xff0c;涨停板就是当某股票价格较前一个生意日的收盘价上涨了必定份额的时分&#xff0c;商场生意将受到限制&#xff0c;股票价格不能继续上涨&#xff0c;即当日该股票的涨幅上限。而当涨停板被翻开&#xff0c;…

用于 GaN-HEMT 功率器件仿真的 TCAD 方法论

目录 标题&#xff1a;TCAD Methodology for Simulation of GaN-HEMT Power Devices来源&#xff1a;Proceedings of the 26th International Symposium on Power Semiconductor Devices & ICs(14年 ISPSD)GaN-HEMT仿真面临的挑战文章研究了什么文章的创新点文章的研究方法…

做视频目标分割、人体姿态跟踪、语义part分割的同学看过来,李飞飞最新作品

SiamMAE&#xff1a;一种从视频中进行表示学习的孪生掩码自编码器&#xff0c;在视频目标分割、人体姿态跟踪、语义part分割上性能表现出色单位&#xff1a;斯坦福大学(李飞飞、吴佳俊等人), 普林斯顿大学(邓嘉) 在图像或场景之间建立对应关系是计算机视觉中的一项重大挑战&am…

恢复电脑删除的文件?这4个简单方法别错过!

“我经常都会把文件保存在电脑上&#xff0c;但是总是不可避免的会误删一些比较重要的文件。有什么比较容易操作的文件恢复方法可以推荐吗&#xff1f;非常感谢&#xff01;” 在日常使用电脑时&#xff0c;用户可能都不可避免的会出现误删文件的情况。这可能包括重要的文档、照…

治理效率提升77%!揭秘基于DataLeap实时健康分的最佳实践

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 背景 某企业实时数仓团队通过数据收集、整合、计算和存储构建实时数据仓库&#xff0c;为企业提供快速、准确、可靠的实时数据分析和决策支持。目前该实时数仓团队…

5.2023-11-02发表的最新论文复现:SSA-VMD与小波分解结合的GNSS坐标时序降噪方法

2023-11-02发表的最新论文复现代码&#xff1a; 注&#xff1a;针对文献去噪流程进行了细节部分修改 1.将多尺度排列熵大于0.5的分量全部删除&#xff0c;发现其效果更佳 2.文中小波分解方法具体的方法不确定&#xff0c;本代码是应用小波阈值去噪于改进VMD相结合进行去噪 代…

工业废水再利用在哪些地方

工业废水再利用主要应用于以下几个方面&#xff1a; 工业生产&#xff1a;回收废水中含有的各种有价值的资源&#xff0c;如水、盐、油、悬浮物等&#xff0c;用于生产过程。预处理和深度处理&#xff1a;为满足工业生产过程对水质的要求&#xff0c;对废水进行预处理和深度处…

当风格遇上浴缸:浴室装饰的秘诀

浴室不再仅仅是个洗漱的地方&#xff0c;如今它们是室内设计的一部分&#xff0c;有时甚至是焦点。浴室的装饰风格可以塑造整个房间的氛围&#xff0c;而浴缸通常是浴室内最引人注目的元素之一。在这里&#xff0c;我们将简单探讨不同室内设计风格与浴缸如何融合&#xff0c;让…

vue3-ace-editor前端 json格式化显示 json编辑器使用

前端 json格式化显示 json编辑器使用vue3-ace-editor 1.安装 项目目录下打开终端 运行 npm install vue3-ace-editor2.使用 <template><div classcontent><el-select v-model"aceConfig.theme" class"m-2" placeholder"Select"…

提升物流效率和可见性:RFID技术在物流线上的创新应用

随着科技的进步&#xff0c;物联网和大数据的应用越来越广泛。RFID&#xff08;无线射频识别技术&#xff09;作为物联网的重要组成部分&#xff0c;已经广泛应用于物流行业中。RFID技术通过无线电信号识别特定目标&#xff0c;无需人工干预&#xff0c;大大提高了物流线的效率…

基于SSM的个人通讯录设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

微信小程序overflow-x超出部分样式不渲染

把display:flex改成display:inline-flex&#xff0c; 将对象作为内联块级弹性伸缩盒显示&#xff0c; 类似与是子元素将父元素撑开&#xff0c;样式就显示出来了

Python+pandas将Excel文件xls批量转换xlsx(代码全注释)

文章目录 专栏导读背景安装的库代码部分(全注释)视频演示总结&#x1f44d; 该系列文章专栏&#xff1a;[Python办公自动化专栏]PS: xlsx转xls文章在这&#xff1a;【点我直达】 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的…

接口自动化测试requests

1.什么是requests&#xff1f; requests是一个Python第三方库&#xff0c;处理URL资源特别方便 2.安装requests pip3 install requests 如果遇到Permission denied安装失败&#xff0c;请加上sudo重试 3.使用requests 3.1get请求方法 3.1.1基本的get请求 import reques…

HTTPS的加密方式超详细解读

在了解https的加密方式之前&#xff0c;我们需要先行了解两个特别经典的传统加密方式&#xff1a; 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称&#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…

MojoUserAgent库

Mojo::UserAgent 是 Perl 编程语言中的一个库&#xff0c;用于创建和管理 HTTP 请求。它提供了一个简单而强大的接口&#xff0c;用于发送 HTTP 请求并处理响应。 以下是一个使用 Mojo::UserAgent 的简单示例&#xff1a; use Mojo::UserAgent;创建一个 Mojo::UserAgent 对象…