常见Appium相关问题及解决方案

news2024/12/23 7:41:49

问题1:adb检测不到设备

解决:

1.检查手机驱动是否安装(win10系统不需要),去官网下载手机驱动或者电脑下载手机助手来辅助安装手机驱动,安装完成后卸载手机助手(防止接入手机时抢adb端口造成干扰)

2.打开手机设置,进入开发者选项,打开USB调试功能

3.重新插拔手机USB,选择接受调试,接受验证指纹

问题2:adb安装应用提示权限不够

解决:部分安卓手机开发者选项需要修改USB调试

问题3:代码报错:找不到连接的安卓设备

解决:检查代码中平台版本号是否填写正确

问题4:安装提示

部分手机已经运行过一次appium脚本,手机上已经安装过ui2驱动,但是每次执行的时候仍然会提示是否安装UI2,如图

图片

这个问题的原因是,只要设置了自动化的驱动为UI2那么appium再每次运行测试脚本的时候都默认的重新安装一下UI2到手机上。

要解决这个问题可以参考问题2,设置相关权限,再进行运行一次看下是否还会提示。

如果还有提示可以在代码的配置项中再增加一个配置,跳过UI2的安装:

skipServerInstallation 设置为True

该配置项配合UI2使用的,也就是说配置项指定了automationName 为 UiAutomator2

或者使用的是appium1.15版本以上可以添加这个配置。

注意:如果你手机没有装UI2或者想重新装一次,就不要加这个配置项

常见问题5:运行代码提示找不到ADB

An unknown server-side error occurred while processing the command. Original error: Could not find ‘adb.exe’ in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path.

检查下ANDROID_HOME环境变量是否正确配置,配置好之后重启下appium和pycharm 命令行等相关工具

可以通过appium-desktop查看环境变量是否正确配置,若正确配置可以在程序中正确回显你配置的环境变量。

图片

如果你这里出现的是空白页面,那么建议你重新配置,或者直接把对应的路径填上去,然后save and restart

问题6:执行代码报错

图片

该问题并不常见,主要是手机操作系统的问题

程序无法无法自动打开appiumsettings,那么我们可以手动打开appiumsettings服务(程序没有界面,会出现打开就闪退的错觉,这是正常现象)

然后再运行脚本

如果觉得此方法麻烦,那就只能更新系统或者更换手机解决了。


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


一、Python编程入门到精通


二、接口自动化项目实战  

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

【Linux】查看目录和更改目录

概览 常见一些目录命令如下: pwd:print working directory的缩写,打印出当前工作目录名 。ls:list的缩写,列出目录内容。file:确定文件类型。less:浏览文件内容。cd:change direct…

低代码发展现状调研和思考

低代码开发是近年来迅速崛起的软件开发方法,让编写应用程序变得更快、更简单。有人说它是美味的膳食,让开发过程高效而满足,但也有人质疑它是垃圾食品,缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢,…

PMP项目管理 - 风险管理

系列文章目录 PMP项目管理 - 质量管理 PMP项目管理 - 采购管理 PMP项目管理 - 资源管理 PMP项目管理 - 风险管理 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in…

easy贪吃蛇

之前承诺给出一个贪吃蛇项目。 1.EasyX库认知 有关EasyX库的相关信息,您可以看一下官方的文档:EasyX官方文档。 这里我做几点总结: EasyX库就和名字一样,可以让用户调用一些简单的函数来绘制图像和几何图形利用EasyX库可以制作…

云渲染技术下的虚拟现实:技术探索与革新思考

虚拟现实(含增强现实、混合现实)是新一代信息技术的重要前沿方向,是数字经济的重大前瞻领域,将深刻改变人类的生产生活方式,产业发展战略窗口期已然形成。但是虚拟现实想要深入改变影响我们的生活,以下技术…

Linux_Docker图形化工具Portainer如何安装并结合内网穿透实现远程访问

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 本文主要介绍如何本地安装Portainer并结合内网穿透工具实现任意浏览器远程访问管理界面。Portainer 是一个轻量级…

日志审计、数据库审计以及代码审计三者的区别与重要性

在当今的数字化时代,企业的信息安全和数据保护至关重要。为了确保这些安全,企业需要采取一系列的安全措施,其中包括日志审计、数据库审计和代码审计。尽管这三者都是为了增强企业的安全性,但它们各自的目标和重点却有所不同。 一、…

电子电器架构( E/E) 演化 —— 高速 大算力

电子电器架构( E/E) 演化 —— 高速 & 大算力 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要…

用23种设计模式打造一个cocos creator的游戏框架----(十九)备忘录模式

1、模式标准 模式名称:备忘录模式 模式分类:行为型 模式意图:在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可以将对象恢复到原先保存的状态 结构图: 适用于: …

LCR 148. 验证图书取出顺序

解题思路&#xff1a; class Solution {public boolean validateBookSequences(int[] putIn, int[] takeOut) {Stack<Integer> stack new Stack<>();int i 0;for(int num : putIn) {stack.push(num); // num 入栈while(!stack.isEmpty() && stack.peek()…

Tekton 基于 cronjob 触发流水线

Tekton 基于 cronjob 触发流水线 Tekton EventListener 在8080端口监听事件&#xff0c;kubernetes 原生 cronjob 定时通过curl 命令向 EventListener 发送事件请求&#xff0c;触发tekton流水线执行&#xff0c;实现定时运行tekton pipeline任务。 前置要求&#xff1a; kub…

Linux系统编程(五):系统信息与资源

参考引用 UNIX 环境高级编程 (第3版)嵌入式Linux C应用编程-正点原子 1. 系统信息 1.1 系统标识 uname 系统调用 uname() 用于获取有关当前操作系统内核的名称和信息 #include <sys/utsname.h>// buf&#xff1a;struct utsname 结构体类型指针&#xff0c;指向一个 str…

【2023海光杯】“智能储物柜系统”电控部分

简单说明 在代码实现部分会给出设计理念和分析&#xff0c;整体资源可以直接下载压缩包&#xff08;手机端依然看不到&#xff0c;还是不知道为什么&#xff09;。 使用设备 按照题目要求需要制作16个储物格&#xff0c;对应16扇门。16扇门的开关可以用矩阵键盘来控制。 在不考…

【精选】计算机网络教程(第3章数据链路层)

目录 前言 第3章数据链路层 1、差错检测&#xff08;CRC&#xff09; 2、点对点协议&#xff08;了解应用场景&#xff09; 3、什么是碰撞域&#xff0c;什么是广播域 碰撞域&#xff08;Collision Domain&#xff09;&#xff1a; 广播域&#xff08;Broadcast Domain&a…

linux修改mysql默认端口(很明智的选择因为后面会遇到各种问题)

1. 登录到mysql查看当前的端口号&#xff1a; show global variables like ‘port’; 2.编辑/etc/my.conf 文件添加port3506 这样的样式 保存退出&#xff1b; 内容: mysqld] port3506 datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock usermysql # Disabling sy…

Python-折线图可视化

折线图可视化 1.JSON数据格式2.pyecharts模块介绍3.pyecharts快速入门4.创建折线图 1.JSON数据格式 1.1什么是JSON JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符串 1.2主要功能json就是一种在各个编程语言中流…

【Qt 学习】之摸鱼技巧

1.设置qtcheckbox 默认勾选** 1.1 ui->hexSend->setCheckState(Qt::Checked); 1.2 非UI界面转槽函数 arg1 值 为 0 1 2&#xff0c;三种模式 2.槽函数与信号 使用ui设置按钮槽函数后会在moc_**_cpp文件中有一个对应关系&#xff0c;如果对应关系出错 槽函数和信号就会…

CloudFlare 优选ip 和 优选域名的获取方法

1.CloudFlare优选IP网站:【链接直达】 2.CloudFlare 优选IP工具&#xff1a;【开源软件】 3.CloudFlare 优选域名&#xff1a;【GitHub开源工具】 4.CF优选域名推荐&#xff1a; time.cloudflare.com shopify.com time.is icook.hk icook.tw ip.sb japan.com malaysia.com rus…

qt实现基本文件操作

先通过ui界面实现基本框架 接下来就要实现每个按键的功能了 我们先来实现新建的的功能&#xff0c;我们右键新建键&#xff0c;可以发现没有转到槽的功能&#xff0c;因此我们要自己写connect来建立关系。 private slots:void newActionSlot(); 在.h文件中加上槽函数。 conne…

【Mysql】InnoDB的表空间(九)

概述 表空间是一个在 InnoDB 中比较抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;而对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ibd 的实际文件。可以把表空间想象成由很多个页组成的池子&…