8年测试总结,App自动化测试-Appium常遇问题+解决(详细整理)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

问题1:
android-sdk缺少apksigner.jar的jar依赖包提示报错信息Original error: Could not find ‘apksigner.jar’

在pycharm中执行代码提示报错信息如下:

An unknown server-side error occurred while processing the command. Original error: Cannot verify the signature of 'C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.21.1.apk'. Original error: Could not find 'apksigner.jar' in ["E:\\android-sdk-windows\\platform-tools\\apksigner.jar"

看到报错信息中缺少个apksigner.jar的jar依赖包,需要把apksigner.jar的包放到android-sdk解压的platform-tools路径下;
如下图:

C1

问题2:
adb版本过低的报错提示

An unknown server-side error occurred while processing the command. Original error: An unknown server-side error occurred while processing the command. Original error: unknown error: Failed to forward ports to device 127.0.0.1:62001. No port chosen: . Perhaps your adb version is out of date. ChromeDriver 2.39 and newer require adb version 1.0.38 or newer. Run ‘adb version’ in your terminal of the host device to find your version of adb.

1、首先去DOS窗口中查看adb 版本号
命令:adb version

2、adb是没有自动升级的命令的,如果想要更新adb的版本,我们可以在网上找到自己想要的版本进行更新;

3、假如你下载的是1.0.40的adb压缩包,把它解压后可以找到下面几个文件,并复制

C2

4、找到adb安装的文件夹下的platform-tools文件夹,我这里是安装到了E盘

C3

5、把刚才复制过的文件复制到\platform-tools文件夹里,替换里面对应的文件就行了

C4

6、再次打开DOS窗口,输入命令:adb version 查看adb版本号

C5

问题3:
android sdk版本与手机版本不兼容出现的报错问题

使用python+appium执行自动化测试脚本提示报错
环境:python3.7以上,appium1.21.0;设备:华为max8真机

报错信息:

android.intent.category.LAUNCHER -f 0x10200000' exited with code 4294967295'; Stderr: 'Security exception: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.wondertek.paper/cn.thepaper.paper.ui.main.MainActivity } from null (pid=13494, uid=2000) not exported from uid 10149

测试的手机版本是android 9,sdk里的版本不支持,所以一直报这个错,下载最新的sdk后,解决。

sdk的版本一定要兼容你的手机型号
如果Appium的chromedriver.exe的版本高,也可能需要更高版本的sdk的支持

android sdk 查看sdk的版本
1、找到android sdk的安装包,双击 SDK Manager.exe

C6

2、跳出窗口后,点击Tools–About;可以看到sdk的版本号;查看sdk版本号对应的手机版本。

C7

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心怀梦想,坚持不懈地努力奋斗,就能成就一番辉煌。相信自己的能力,勇往直前,每一次努力都离成功更近一步。无论遇到多少困难,都要坚定信念,永不放弃,终将迎来属于自己的辉煌时刻!

只有不断超越自己的努力,才能让我们在人生的舞台上闪耀出璀璨的光芒。无论困难多大,只要坚持不懈,成功必将属于那些敢于奋斗的人!

只有奋斗,才能追寻内心的无限可能,挑战自我,超越极限,成就辉煌。坚持不懈的努力,必将铺就通向成功的道路,让我们拥抱梦想,勇往直前!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式与文本处理器

文本处理器三剑客:grep(查找) sed awk 正则表达式:由一类特殊字符以及文本字符所编写的一种模式,处理文本当中的内容 其中的一些字符不表示字符的字面含义,这些字符表示控制或者通配的功能 通配符&…

拿了 7 个大厂 offer,我有话说

我有一个朋友,举办了一个分享会。他春招期间收割了阿里、京东、美团、拼多多、网易、腾讯云智等多家公司的实习 offer。 他最近从一家A大厂实习换到了另外一家B大厂实习,分享会长达100分钟, 共解答了 40 多个问题。 我也从中抽取一些比较有共…

Ceph 应用(CephFS文件存储、块存储、对象存储)

目录 一:创建 CephFS 文件系统 MDS 接口 1、服务端操作 (1)在管理节点创建 mds 服务 (2)查看各个节点的 mds 服务 (3)创建存储池,启用 ceph 文件系统 (4)…

【SQL】计算每个人的完成率

目录 前提任务的完成率前三名拓展:达梦如何去实现除法有余数拓展:MySQL 任务的完成率前三名 前提 达梦数据库: select 1/3; # 0不要求四舍五入 任务的完成率前三名 # nick_name 人名 # finishNum 当前这个人的任务完成数 # total 当前这…

跨文化合作:如何解决海外网红营销中的文化差异?

随着社交媒体的快速发展,海外网红营销已成为许多品牌和企业获取国际市场的有效方式。然而,由于不同国家和地区存在着独特的文化差异,如语言、价值观、习俗等,这也给品牌进行海外网红营销带来了一系列挑战。本文Nox聚星将和大家探讨…

Revit中如何添加剖面?快速实现剖面图

一、Revit中如何添加剖面? 除了标高绘制所得到的楼层平面视图和立面视图之外,还可以添加剖面视图,这样可以得到任意位置一个竖向的剖切面,例如在楼梯细节处理中,楼梯处于建筑物内部,立面也看不到整个楼梯的…

【Linux系统】结合有趣的小故事让你学懂生产者消费者模型

目录 由故事引入模型故事背景供货商们的矛盾市民们和供货商之间的矛盾一市民们和供货商之间的矛盾二市民们的矛盾模型总结 生产者消费者模型为什么要使用生产者消费者模型?生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型C queue模…

ENSP实验一:防火墙基础配置

1、搭建拓扑图 配置client&#xff08;内网&#xff09;、FTP Server&#xff08;外网&#xff09;的IP地址 客户端设置&#xff1a; 服务端设置&#xff1a; 2、配置防火墙命名 进入防火墙&#xff0c;输入密码&#xff1a;默认为admin123 <USG6000V1>system-view /…

架构训练营笔记:高可用设计

2-3高可用设计 高可用复杂度模型 分为计算高可用&#xff0c;存储高可用&#xff0c;高可用本质上需要冗余&#xff0c;这里是集群&#xff0c;没有单机。 计算高可用&#xff1a;分为任务分配与任务分解。 计算高可用对比之前的高性能&#xff0c;就是多了状态检测。 任务…

vue 升级3 +vite+antdv4

目录 一、安装包相关升级 二、vite.config 三、 入口文件修改 四、App.vue 及相关升级 五、路由 六、状态管理VUEX 一、安装包相关升级 升级pakage.json相关安装包 vue2插件vue3替换插件vue2使用vue3使用vue-ls vuex-persistedstate或vuex-persistVue.ls.get() Vue.ls.…

Spring Batch之读数据库—JdbcPagingItemReader(四十一)

一、JdbcPagingItemReader Spring Batch框架提供了对JDBC分页读取支持的组件JdbcPagingItemReader。JdbcPaginItemReader实现ItemReader接口&#xff0c;核心作用是将数据库中记录通过分页的方式转换为Java对象。在JdbcPagingItemReader将数据库记录转换为Java对象是主要有两步…

Lua脚本本地调试

这里主要使用日志的方式进行debug 环境依赖 项目对openresty包的依赖比较高&#xff0c;所以环境基础都在openresty下进行 openresty的使用 openresty下载地址 下载完成后解压&#xff0c;具体使用方式和nginx没有什么区别&#xff0c;主要依赖文件是一下几个 nginx.exe …