app自动化测试——Android studio安装与配置

在这里插入图片描述


文章目录

  • 一、Appium框架介绍
  • 二、Appium 生态工具
  • 三、环境安装
  • 四、安装Android studio
  • 五、配置环境变量
  • 六、创建模拟器
    • 查看设备
    • 启动模拟器

一、Appium框架介绍

1、跨语言:java、python等
2、跨平台:Android、IOS、Windows、Mac
3、底层多引擎切换
4、生态丰富、社区强大

二、Appium 生态工具

adb:android的控制工具,用于获取android的各种数据控制
Appium Desktop:内嵌了appium server和inspecter的综合工具
Appium Server:appium的核心工具,命令行工具
Appium client:各种语言的客户端封装库,用于连接appium server
python、java、ruby、robotframework-appium
AppCrawler自动遍历工具

三、环境安装

Java 1.8版本
安装教程:https://blog.csdn.net/YZL40514131/article/details/118929835
Android sdk
Node js(>=10版本),npm(>=6版本)
python3
appium-desktop
Appium python client

四、安装Android studio

下载sdk
Android studio地址:https://developer.android.com/studio/index.html
中文官网下载地址:http://tools.android-studio.org/index.php/sdk

装Android Studio之后初次启动的时候会需要进行环境的初始化,安装的时候使用标准安装即可
在这里插入图片描述
在这里插入图片描述

特别注意:Android SDK Location :这块不需要改,默认路径,它会把下载sdk保存到这个路径
在这里插入图片描述
在这里插入图片描述

五、配置环境变量

在系统变量中新建一个变量,名字为ANDROID_HOME,值为电脑SDK的根目录
在这里插入图片描述

修改系统变量中的path变量,添加四条内容,因为可能会有其他软件也带有adb执行文件,未免出现问题,尽量将这四项配置到较靠前的位置

%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin
%ANDROID_HOME%\platform-tools

六、创建模拟器

打开Android Studio,在欢迎界面的configure中选择AVD manager,打开Android Studio模拟器管理工具
在这里插入图片描述
进入创建模拟器界面,第一步是选择尺寸,只要选择一个常见的手机尺寸即可
在这里插入图片描述

选完手机尺寸就来到了手机系统选择页面。
不要在默认界面中选择系统,切换到X86列表中去选择,如果64位系统可以选择X86_64的镜像,不是的话选择X86即可,建议选择带有Google Apis的镜像,点击镜像名称后方蓝色的download链接下载系统镜像(较大,可能需要比较长的时间),下载完毕之后就可以使用该镜像去创建虚拟机了。建议优先准备一个6.0版本的镜像
在这里插入图片描述
选好所用的镜像之后,就来到了模拟器设置页面,页面顶部AVD Name可以设置模拟器的名字,建议设置一个比较短但是能区别系统版本的名字,这样之后在命令行运行的时候可以比较简单了快捷的通过名字来启动对应的模拟器。除了名字之外,点击下方Show Advanced Settings,展开高级选项,可以配置SD卡的存储大小SD Card,可以将这个容量稍微设置大一些,以免之后安装app的时候容量不足(这些设置之后都可以随意修改,需要再改也可以)
在这里插入图片描述
这样就创建好了一个模拟器,模拟器可以通过AVD Manager界面来运行,也可以通过命令行直接运行(需要在环境变量path中配置SDK下的emulator目录)

查看设备

emulator -list-avds

C:\Users\Lenovo>emulator -list-avds
Pixel_5_API_23

启动模拟器

emulator @设备名称
emulator @模拟器名字使用此命令即可直接在命令行启动模拟器,无需打开Android Studio,例如模拟器名

C:\Users\Lenovo>emulator @Pixel_5_API_23

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

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

相关文章

(待补充)小蒟蒻的刷题成长之路-------2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛)

小蒟蒻的刷题成长之路 蓝桥杯的比赛流程和必考点_蓝桥杯省赛考点_时雨h的博客-CSDN博客 大一学生一周十万字爆肝版C语言总结笔记_大一c语言笔记_时雨h的博客-CSDN博客 程序设计与 C 语言期末复习_时雨h的博客-CSDN博客 P8597 [蓝桥杯 2013 省 B] 翻硬币个人思考总结第五届传智杯…

西瓜视频登录页面

题目 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>登录页面</title><style>td{width: 160px;height: 25px;}img{width: 20px;height: 20px;}.number, .password{background: rgba(0,0,0,.05);}.numbe…

指针进阶(上)

内容小复习&#x1f431;&#xff1a; 字符指针:存放字符的数组 char arr1[10]; 整型数组:存放整型的数组 int arr2[5]; 指针数组:存放的是指针的数组 存放字符指针的数组(字符指针数组) char* arr3[5]; 存放整型指针的数组(整型指针数组) int* arr[6]; 下面进入学习了哦~&…

【二分查找】

二分查找704. 二分查找35. 搜索插入位置34. 在排序数组中查找元素的第一个和最后一个位置结语704. 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在…

mybatis中获取参数的两种方式:${}和#{}

目录 1.#{} 2.${} 3.总结 1.#{} 本质是占位符赋值 示例及执行结果&#xff1a; 结论&#xff1a;通过执行结果可以看到&#xff0c;首先对sql进行了预编译处理&#xff0c;然后再传入参数&#xff0c;有效的避免了sql注入的问题&#xff0c;并且传参方式也比较简单&#xf…

Python制作9行最简单音乐播放器?不,我不满足

人生苦短 我用python 好久不见啦~这次就来给大家整个大福利 ~ 源码资料电子书:点击此处跳转文末名片获取 最简单的9行代码音乐播放器如下&#xff1a; import time import pygamefile r歌曲路径 pygame.mixer.init() print(正在播放,file) track pygame.mixer.music.load(f…

计算机面试常见问答题目

英语口语 自我介绍 Hello, teachers. My name is Wang Xu. I come from Ningxia. I graduated from the School of Computer Science, Xi an Jiaotong University, majoring in Internet of Things. Next, I will introduce myself from four aspects. First of all, I studi…

Java开发 - ELK初体验

前言 前面我们讲过消息队列&#xff0c;曾提到消息队列也具有保存消息日志的能力&#xff0c;今天要说的EL看也具备这个能力&#xff0c;不过还是要区分一下功能的。消息队列的日志主要指的是Redis的AOF&#xff0c;实际上只是可以利用了消息队列来保存&#xff0c;却并不是消…

网络编程1(网络背景知识)

A给B发送消息如何保证数据一定能够发送到B的主机上&#xff0c;而不是其他地方 通过IP地址可以实现网络中制定的两个主机之间的通信&#xff0c;除此之外还要确定是哪个进程来处理&#xff0c;这里就用到端口&#xff08;port&#xff09; 端口—在一台主机上用于唯一标识一个…

MySQL索引特性

文章目录为什么要有索引&#xff1f;认识磁盘磁盘的结构磁盘的盘片结构定位扇区磁盘随机访问 (Random Access)与连续访问 (Sequential Access)MySQL与磁盘交互索引的理解测试主键索引索引的原理索引结构是否可以使用其他数据结构B树 vs B树聚簇索引 vs 非聚簇索引为什么要有索引…

基于深度学习的犬种识别软件(YOLOv5清新界面版,Python代码)

摘要&#xff1a;基于深度学习的犬种识别软件用于识别常见多个犬品种&#xff0c;基于YOLOv5算法检测犬种&#xff0c;并通过界面显示记录和管理&#xff0c;智能辅助人们辨别犬种。本文详细介绍博主自主开发的犬种检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Py…

分布式微服务架构下网络通信的底层实现原理

在分布式架构中&#xff0c;网络通信是底层基础&#xff0c;没有网络&#xff0c;也就没有所谓的分布式架构。只有通过网络才能使得一大片机器互相协作&#xff0c;共同完成一件事情。 同样&#xff0c;在大规模的系统架构中&#xff0c;应用吞吐量上不去、网络存在通信延迟、我…

Qt音视频开发26-监控画面各种图形绘制设计

一、前言 视频监控系统做到后面&#xff0c;逐渐需要搭配人工智能算法&#xff0c;将算法计算后的信息以OSD标签以及方框各种图形的信息显示到视频中&#xff0c;这种当然和OSD一样也是有两种方式&#xff0c;一种是源头就贴好了&#xff0c;一种是将结果发给软件这边解析绘制…

专项攻克——死锁

文章目录O、死锁定义一、 常见的java死锁代码1. synchronized等待对象释放&#xff0c;导致死锁2. CountDownLatch计数等待&#xff0c;导致死锁二、怎么避免死锁2.1 死锁的四个必要条件2.2 避免死锁2.3 常见的避免死锁技术三、java程序出现死锁&#xff0c;怎么解除&#xff1…

Vue使用的编辑器

作者简介&#xff1a;一名计算机萌新、前来进行学习VUE,让我们一起进步吧。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;我叫于豆豆吖的主页 目录 前言 一.vue常用的IDE工具Visual Studio Code 3. 汉化教程 4.常用快捷键 5. Visual Studio C…

瑞萨Renesas RA2L1 开发板测评(1)--keil环境配置

前言&#xff08;1&#xff09;首先感谢李肯前辈的活动&#xff0c;从而申请到了RA2L1开发板的测评。&#xff08;2&#xff09;本文将会简单介绍此开发的Renesas RA2L1 开发板的前期配置。需要注意的是&#xff0c;MDK版本要5.30 以上。MDK下载链接&#xff1b;&#xff08;3&…

计算机中的浮点数运算

计算机中的浮点数 计算机中以固定长度存储浮点数的方式&#xff0c;造成了浮点数运算过程容易产生上溢和下溢。以float32为例, 其标记位占1bit,指数位占8bit,小数部分占23bit 经典下溢场景 不满足精度导致截断误差 #include <iostream> #include <iomanip> usin…

一行代码“黑”掉任意网站

文章目录只需一行代码&#xff0c;轻轻一点就可以把任意网站变成暗黑模式。 首先我们先做一个实验&#xff0c;在任意网站中&#xff0c;打开浏览器开发者工具(F12)&#xff0c;在 C1onsole 控制台输入如下代码并回车&#xff1a; document.documentElement.style.filterinve…

Hive 数据倾斜

数据倾斜&#xff0c;即单个节点任务所处理的数据量远大于同类型任务所处理的数据量&#xff0c;导致该节点成为整个作业的瓶颈&#xff0c;这是分布式系统不可能避免的问题。从本质来说&#xff0c;导致数据倾斜有两种原因&#xff0c;一是任务读取大文件&#xff0c;二是任务…

【MIT 6.S081】Lab2: system calls

本Lab包括两个简单系统调用的实现&#xff0c;进一步熟悉系统调用接口。 笔者用时约1.5h 概述 根据文档说明&#xff0c;当我们添加一个系统调用时&#xff0c;比如第一个任务是添加一个trace&#xff0c;需要进行以下操作&#xff1a; 首先将系统调用的原型添加到user/user…