Appium_Java运行测试脚本时问题汇总
问题一、
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundException
解决方法:
pom文件中只配置java-clientJ即可,把selenium相关的配置都移除
问题二、
运行appium-doctor提示需要安装opencv4nodejs,命令为: npm i -g opencv4nodejs
参考地址:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/image-comparison.md
问题三、
Message: An unknown server-side error occurred while processing the command. Original error: zipAlignApk failed. Original error: Command 'android-sdk-windows_r24.3.2\\build-tools\\28.0.3\\zipalign.exe -f 4 nodejs\\node_modules\\appium\\node_modules\\appium-uiautomator2-server\\apks\\appium-uiautomator2-server-debug-androidTest.apk Local\\Temp\\2019023-21080-1lyy0jl.0z4j\\appium.tmp' exited with code 1. Stdout: ''; Stderr: 'Unable to open 'nodejs\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk' as zip archive
处理方法:
把nodejs->node_modules下的appium-uiautomator2-driver跟server都删除了,把appium下node_modules下的appium-uiautomator2-driver跟server也都删除了,此时命令行启动appium会提示缺少appium-uiautomator2-driver,于是在nodejs->node_modules->appium->node_modules下再次安装appium-uiautomator2-driver,执行完成后再次运行脚本出现问题四;
实际原因为appium-uiautomator2-server未安装正确;
问题四:
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: this.adb.getApplicationInstallState is not a function
参考: https://github.com/appium/appium/issues/12061
命令行启动appium未解决此问题,安装Appium 桌面版本,此问题解决,同时Appium 在android 8.0上切换Activity无法识别元素的问题也解决了;
问题五:
opencv4nodejs安装
解决方法: https://blog.csdn.net/qq_37385726/article/details/80448322
问题六、
org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl, gradle 5上会报此错误;
android studio 3.2,gradle 4.10.3
解决方法:
Android Studio->Settings->Build,Execution,Deployment->Gradle -> Use local Gradle 选择4.10.3就可以了
参考:https://github.com/gradle/gradle/issues/8088
问题七:
若直接安装Appium desktop版本1.10.1,使用Uiautomator2没有问题,则可以i把桌面版本的node-modules复制到终端安装的appium对应目录下,此时终端安装的appium可以正常使用Uiautomator2了;
Appium_Java运行测试脚本时问题汇总的更多相关文章
- shell脚本语法基础汇总
shell脚本语法基础汇总 将命令的输出读入一个变量中,可以将它放入双引号中,即可保留空格和换行符(\n) out=$(cat text.txt) 输出1 2 3 out="$(cat te ...
- 老李推荐:第8章5节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-运行测试脚本
老李推荐:第8章5节<MonkeyRunner源码剖析>MonkeyRunner启动运行过程-运行测试脚本 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化 ...
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- [原创]LoadRunner 12.02 录制脚本时提示无Internet访问,如何解决?
在使用LoadRunner 12.02 进行录制脚本时提示无Internet访问,如下图: 翻译中文如下: 可以尝试以下方式解决:点击弹出框中的“Yes”即可. 若还是有问题,尝试以下方式: (1)L ...
- 脚本调用脚本时.与bash的差别
在做项目时,发现脚本调用脚本时,会意外退出任务. 下面的脚本是父脚本: #!/bin/bash . ./data/child.sh echo 123sds echo "45gfdg" ...
- 关于shell脚本时遇value too great for base (error token is "08")
今天在书写一个定时cp脚本时遇到了一个问题,value too great for base (error token is "08") 在网上查看到原来是以0开头的数字 系统会默 ...
- 【MYSQL】在脚本中使用变量-执行脚本时传参
在shell脚本里可以定义变量,并在执行脚本时任意传参. #!/bin/bashdb_name=$1 #将第一个值赋给db_name变量sql_name=$2 #将第二个值赋给sql_name变量my ...
- PowerDesigner生成SQL脚本时,对象带有双引号的问题解决
在pdm查看脚本时,发现表名和字段名带有双引号: 1.create table"cfg_user_card_account" ( 2. "user_card_acco ...
- sqlserver,执行生成脚本时“引发类型为“System.OutOfMemoryException”的异常”(已解决)
sqlserver,执行生成脚本时“引发类型为“System.OutOfMemoryException”的异常”(已解决) 出现此错误主要是因为.sql的脚本文件过大(一般都超过100M)造成内存无法 ...
随机推荐
- Swift学习笔记(6)--字典
1.定义 //1.基本定义 [key 1: value 1, key 2: value 2, key 3: value 3] var dict = ["name":"Xi ...
- 【Uva 10285】Longest Run on a Snowboard
[Link]: [Description] 在一个r*c的格子上; 求最长的下降路径; [Solution] 记忆化搜索; f[x][y]表示从(x,y)这个格子往下还能走多远; 因为是严格递增,所以 ...
- c#+windows api SetWindowsHookEx 全局钩子 demo 下载
效果图 源代码下载地址: http://download.csdn.net/detail/dhfekl/7522141
- 【推荐】适合本科生的网络公开课(MOOC为主),不断更新……
题记:身在海大(湛江),是幸运还是不幸,每一个人有自己的定义.人生不能再来一次,唯有把握当下.提高自己,才可能在不能拼爹的年代靠自身实力前行.或许,我们做不了富二代.但我们每一个人.都有机会成为富二代 ...
- Android 採用HTML设计界面
由于Android软件开发分工眼下还没有细化,程序猿往往须要负责软件界面的开发,尽管软件的界面图片已经由美工设计好了.可是假设使用layout技术把软件做成美丽的界面确实非常困难,而是也比較耗时.An ...
- 38.C语言字符串总结
1.自己实现三个常用函数 strlen,strcpy,strstr 自己实现strstr函数,如果找到返回首地址,找不到则返回NULL //查找元素,返回首地址 char *mystrstr(cons ...
- module.exports,exports和export default,export的区别
前提:CommonJS模块规范和ES6模块规范是完全不同的两个概念. module.exports,exports属于CommonJS模块规范: export default,export属于ES6模 ...
- CMDB学习之五服务端api
服务端api 对发送来的数据进行处理,并返回结果,首先要创建一个Django项目 第一步,就是写URL路由在分支中写url api 主路由 from django.conf.urls import u ...
- java 参数
-Xmx:size java最大堆内存 -Xms:size 初始化内存 -Xmn:size 年轻带堆大小 -XX:NewSize=size 年轻带的大小 -XX:NewRatio=ratio 年轻带和 ...
- 【Henu ACM Round #12 B】 Alice, Bob, Two Teams
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 写个前缀和 和 一个后缀和. (即前i个字符A所代表的数字的和以及前i个字符B所代表的数字的和.. 然后枚举前i个字符翻转. 求B对 ...