软件测试-移动端测试示例1-笔记

news2024/12/28 18:43:32

搭建环境

移动端测试试验连接真机不方便,在此通过电脑端进行一个测试

安装JDK环境

参考一下文章

https://blog.csdn.net/weixin_47260194/article/details/122595008?spm=1001.2014.3001.5502

Android SDK环境配置

首先去到官网https://www.androiddevtools.cn/下载SDK,找到对应的windows版本

将下载好的SDK进行解压

然后双击SDK Manager.exe,启动SDK Manager安装工具进行安装,若有其他版本需要可自行勾选

然后进行环境变量的配置

配置好环境变量,打开命令行,输入adb

安装成功

安装安卓模拟器

可以在百度搜索https://www.yeshen.com/手机模拟器,然后下载想要的就行(我下载的是一个夜神模拟器)。

因为我使用的是夜神模拟器,所以要确保安卓SDK的版本和夜神模拟器的版本一致,需要将安卓目录下的一个文件拷贝至夜神模拟器下的目录中进行替换。

将这个安卓目录下的adb.exe拷贝至夜神模拟器目录下,记得修改名称。

同时还要设置好夜神模拟器的手机版本

接下来开启模拟器的开发者模式

打开模拟器的设置界面

对以下的按钮连按五下,在设置界面出现开发者选项证明成功

我们打开命令行进行安卓连接夜神模拟器(夜神模拟器的默认端口是62001)

分别输入以下命令

adb connect  127.0.0.1:62001  
adb devices -l

下面下载appium进行连接

安装appium

前往官网www.appium.io进行下载对应版本

下载完成后点击安装即可,安装成功后双击打开

然后点击启动

因为我使用的时python语言进行开发,所以在python中还要下载appium的依赖包

打开命令行,输入cmd,进行下载。若未安装python,则另行下载安装。

adb调试工具

adb工具可以在电脑通过终端命令操作安卓手机/模拟器

命令:adb shell dumpsys window windows | findstr mFocusedApp

该命令是查找程序的包名和界面名

让我们打开夜神模拟器,并打开设置界面

然后在电脑打开命令行,输入上述查询命令

上述是通过adb调试查询路径,接下来使用安排appium进行调试

打开pycharm,创建一个py文件(未下载的请百度安装下载python和pycharm)

# 导模块
from appium import webdriver
from time import sleep

# 创建一个字典,包装相应的启动参数
desired_caps = {}
# 需要连接的手机的平台(不限制大小写)
desired_caps['platformName'] = 'Android'
# 需要连接的手机的版本号(比如5.2.1的版本可以填写5.2.1或5.2或5,以此类推)
desired_caps['platformVersion'] = '7.1'
# 需要连接的手机设备号(andoird平台下,可以随便写,但是不能不写)
desired_caps['deviceName'] = '127.0.0.1:62001'
# 需要启动的程序的包名
desired_caps['appPackage'] = 'com.android.settings'
# 需要启动的程序的界面名
desired_caps['appActivity'] = '.Settings'

# 连接appium服务器
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

# 2. 执行操作
# driver.xxx
# element = driver.find_element_by_xx()
# element.xxx

# 让程序停留一秒,方便看清
sleep(1)

# 3. 退出
print(driver.current_activity)
driver.close_app()
driver.quit()

以上代码会让手机打开设置页面停留一秒后关闭

appium的启动实际上是在本机使用了4723端口开启了一个服务

1.我们写的python代码会访问本机的appium服务器,并获取driver对象

2. appium会将我们的driver对象调用的方法转化成post请求,提交给appium服务器

3. appium通过接收到的post请求发送给手机,再由手机进行执行

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

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

相关文章

【虹科新品】采用NVIDIA Jetson Orin NX系统的视觉边缘计算机

虹科是智能感知与机器视觉领域领先资源整合及技术服务落地供应商,已经和Gidel展开深度的技术合作,为用户提供图像采集卡、FPGA图像处理和高带宽图像采集等服务。目前已经陆续在国内完成了多家一线公司的汽车图像采集、AOI、晶圆半导体检测项目。Gidel推出…

JS 执行上下文和作用域

与JS 中的作用域一同出现的还有一个执行上下文(execution context)的概念,这两个概念容易混淆,今天就来聊聊他们。 作用域 作用域是指程序源代码中定义变量、函数的区域,它规定了变量和函数可以访问哪些数据以及他们…

C语言和汇编语言混合编程

ATPCS ATPCS的全称是ARM-Thumb Procedure Call Standard,其核心内容就是定义了ARM子程序调用的基本规则及堆栈的使用约定等。如ATPCS规定了ARM程序要使用满递减堆栈,入栈/出栈操作要使用STMFD/LDMFD指令,只要所有的程序都遵循这个约定&#…

前端开发环境部署问题

很多开发者到了一家新公司,公司发了一台新电脑,对环境安装比较困惑。今天带大家还原,拿到公司电脑,如何安装你需要的各种环境。 一、node按装 官网下载地址: http://nodejs.cn/download/ 根据自己需要下载对应的版本…

深度 | Web 3.0时代去中心化IM 的挑战与思考

前言 Web3.0时代的重要特点: 1、数据主权 用户将拥有自己的数据主权,用户所创造的数字内容,所有权和控制权都归属于用户,用户所创造的价值可以由用户自主支配。对于IM业务,就是用户的好友列表,聊天消息等…

windowXP系统无法正常访问vue3网页

开发完的vue3项目需要在XP系统环境使用 由于在立项时采用了开发成本较低速度较快的vue3技术栈,并没有考虑到工厂的设备仍然在试用二十年前的机器,导致项目上线后有部分人员打开页面展示白屏。 经过排查,发现由于vue3使用ES6的Proxy代理实现响…

Linux-目录结构及文件基本操作

目录1、Linux目录结构1.1 FHS标准1.2 目录路径2、Linux文件的基本操作2.1 新建2.2 复制2.3 删除2.4 移动文件与文件重命名2.5 查看文件2.6 查看文件类型2.7 编辑文件1、Linux目录结构 Linux的目录结构和Windows的目录结构在实现上是完全不同的 Windows以存储介质为主&#xff…

Vue-Cli 脚手架 搭建 Vue项目

本篇目开始进行Vue基于项目中的介绍,Vue-cli 是官方提高用于搭建基于 Vue、Webpack、ES6 项目目的脚手架工具,可以前往在线官网查看:—— 官方文档 | Vue CLI 。 安装npm 1. 检测是否安装了Node.js ,未安装请前往下载;…

【内网安全-隧道搭建】内网穿透_Ngrok上线(美版、国版二开)

目录 一、准备 1、意义: 2、项目: 二、内网穿透 1、简介: 三、Ngrok(入门上线) 1、简述: 2、Ngrok入门上线(国版二开) 3、相关工具: 2、Ngrok入门上线&#xff…

低代码开发平台|SRM-招投标管理搭建指南

1、简介1.1、案例简介本文将介绍,如何搭建SRM-招投标管理。1.2、应用场景企业根据采购需求创建招投标需求,选择供应商进行邀标,供应商报名再投标,投标结束评标人员对投标项目进行评估。2、设置方法2.1、表单搭建1)新建…

Python build Exe 使用PyInstaller创建可执行的Python脚本

在本指南中,您将看到如何使用PyInstaller创建Python脚本的可执行文件? 下面是在Windows中实现这一目标的完整步骤。 使用PyInstaller创建可执行文件的步骤 步骤1:添加Python到Windows路径 首先,您可能想要将Python添加到Windows路径。 将Python添加到…

Spring Boot整合Redis笔记

文章目录前言Java 操作 RedisJedis 操作-测试Jedis 实例-手机验证码Redis与Spring Boot整合整合步骤Redis 的事务操作Redis的事务定义Multi、Exec、discard 基本命令事务冲突的问题为什么要做成事务悲观锁乐观锁WATCH key [key ... ]Redis事务三特性Redis事务秒杀案例解决计数器…

分布式定时任务-XXL-JOB-教程+实战

一.定时任务概述 1.定时任务认识 1.1.什么是定时任务 定时任务是按照指定时间周期运行任务。使用场景为在某个固定时间点执行,或者周期性的去执行某个任务,比如:每天晚上24点做数据汇总,定时发送短信等。 1.2.常见定时任务方案…

docker-compose容器编排部署

docker-compose部署微服务1、Docker-Compose是什么?2、应用场景3、docker-compose部署SpringBoot项目3.1 编写Dockfile3.2 编写docker-compose.yaml3.3 修改工程配置3.4 将相关文件上传到服务器3.5 执行docker-compose up本文是对DockerNginx打包部署前后端分离项目…

E5061B矢量网络分析仪VNA概念

矢量网络分析仪VNA是一种测试仪器,它可以将网络的响应测量成矢量:实参数和虚参数,从而表征其性能。矢量网络分析仪VNA是射频设计实验室和许多制造和服务领域的重要测试仪器。虽然矢量网络分析仪主要侧重于研究和开发,但它也可以为所有类型的R…

2月3日 读书笔记

我们将程序改善一下,让程序在按下一个键后不结束,而是把所按键的编码在画面上显示出来,这样就可以切实完成中断处理程序了。 所谓中断处理,基本上就是打断CPU本来的工作,加塞要求进行处理。而且处理中断期间不再接收别…

创业30载,百亿市值奥瑞金未来可期

1994年,关玉香在海南文昌破土兴建海南奥瑞金包装实业有限公司(原名:文昌奥瑞金制罐公司),与儿子周云杰一起带领着16名工人进入了金属包装行业,从0到如今的百亿市值,就此拉开了一路“封神”的序幕…

字符串(一)BF算法与KMP算法

给一个主串s,在给一个子串substr,判断substr是否为s的子串 一、BF 暴力搜索 暴力,依次逐个比较字符,先从主串和模式串的第一个字符开始,如果相等一起比较下一个字符,如果不相等,那么重新回到模…

PTA L1-032 Left-pad(详解)

前言:本期是关于L1-032 Left-pad的详解,内容包括四大模块:题目,代码实现,大致思路,代码解读,今天你c了吗? 题目: 根据新浪微博上的消息,有一位开发者不满NPM…

SpringCloud Alibaba—— 微服务网关GateWay

目录 1、GateWay网关概述 1.1、什么是GateWay? 1.2、为什么要使用微服务网关? 1.3、Zuul与GateWay网关的区别? 2、快速入门 2.1、创建项目 2.2、配置yml文件 2.3、controller层 2.4、启动类 2.5、启动整体项目 2.6、配置全局过滤器…