Appium的一些常见问题及解决方法

2024-06-04 04:08

本文主要是介绍Appium的一些常见问题及解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题1:报错A new session could not be created. (Original error: Requested a new session but one was in progress)。
这里写图片描述
原因:之前的会话没有关闭,然后又运行了测试实例导致的。
解决方法:停止Appium服务,选择设置图标,然后在General Settings中勾选覆盖Session,重启Appium,如下图所示:
这里写图片描述

问题2:使用sendKeys()方法时出现无法输入中文,而数字和英文字母都可以
解决方法:

cap.setCapability("unicodeKeyboard", true);//使用 Unicode 输入法
cap.setCapability("resetKeyboard", true); //重置输入法到原有状态

问题3:向sendKeys(CharSequence[])方法传递String类型的参数将会编译出错,提示:sendKeys(CharSequence[]) in the type WebElement is not applicable for the arguments (String)
解决:将java compiler 改变到1.5以上
注意:Java Build Path是运行时环境 ,Java Compiler是编译时环境

问题4及解决:每次测试是否重新安装app 以及签名。做如下设置来避免每次测试都需要进行重新登录。

cap.setCapability("noSign", "True"); //不重新签名apk
cap.setCapability("noReset", "True"); //是否不需要重新安装app

问题5:报错: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device.
解决:Appium不支持4.2.2以下的系统,将手机或模拟器的系统进行更新。

问题6:
1. 如何找appPackage、appActivity
2. 报错:Error occured while starting App. Original error: Permission to start activity denied. 这是由于启动了错误的activity
解决:先对待测App进行一些操作,然后在cmd中输入以下命令:

adb shell dumpsys activity activities > log.txt

命令执行后会生成一个log.txt文件(若需要指定该文件路径,只需要在该文件名前添加路径即可,例如:F:\Appium\log.txt),打开该文件,查找关键字:LAUNCHER,即可找到,如下图所示:(其中红框部分分别为appPackage、appActivity)
这里写图片描述

问题7:如何获得真机的deviceName
解决:
方法1: 命令行输入:adb devices
这里写图片描述
红框内的数字就是deviceName的一部分,完整结构是:品牌-型号_这串数字,
(型号可通过手机查看,设置里面有个关于手机),例如:oppo-oppo_a33-9729eb6b
方法2:利用UI Automator Viewer工具,列表显示的是deviceName的全称,如下图所示:
这里写图片描述
注:需要有多台Android设备连接PC时才能显示设备列表,包括模拟器在内,否则不会出现该列表。

这篇关于Appium的一些常见问题及解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029023

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方