2023年11月29日发(作者:)
appium运⾏各种坑爹报错问题及解决⽅法【推荐】
1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
之前的会话没有关闭,然后你⼜运⾏了测试实例,也没有设置覆盖.
解决:
1. 重新停⽌appium服务,开启Appium服务
2. 在Genarel Setting那⾥设置覆盖Session,重启Appium
测试结束在AfterClass加()
2. error: Failed to start an Appium session, err was: Error: Command failed: C: /s /c “D:android-
-s adb server version (32) doesn't match this client (36); killing…
wait-for-device”
error: could not install smartsocket listener: cannot bind to 127.0.0.1:5037:
没有链接上⼿机或者模拟器,请确认已经连接成功,重新链接
3. error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on
your device.
⼿机系统低于4.2,appium不⽀持4.2.2以下的系统,请换⼀个⼿机或者模拟器来测试。
4. Error: Permission to start activity denied.
**activity在清单⽂件⾥⾯没添加Android:exported=”true”的话,你不能直接打开对应的activity,需要从启动页activity打开。
exported属性就是设置是否允许activity被其它程序调⽤**
5. error: Failed to start an Appium session, err was: Error: Activity used to start app doesn't exist or cannot ve launched! Make
usre it exists and is launchable activity
要打开的activity不存在,activity路径错误,改为完整正确的activity路径
6. error: Failed to start an Appium session, err was: Error: ‘java - version' failed. Error: Command failed:
C: /s /c “java -version”
Java版本错误,请安装最新的版本。
7.> info: [debug] Error: Command failed: C: /s /c “D:android-sdk-windowsplatform-
链接⼿机失败,重新链接⼿机即可,我就是重新拔插了⼀下usb
Error: Command failed: C: /s /c “D: -s 8806a0b0
shell “echo ‘ping'”“
error: unknown host service
adb被突然占⽤导致,例如你在运⾏⽤例的时候运⾏了模拟器。
8、error: Failed to start an Appium session, err was: Error: /.LuncherActivity never started. Current:
次种情况常发⽣在app有引导页时
解决⽅案:android初始化参数⾥添加 desired_caps['waitappActivity'] = 'rActivity'
ps:跟机⼦模拟器或机型有⼀定关系,⽬前没有100%解决
技巧 1. 每次测试都重新安装app
为capabilities⾊设置noReset为true
ability(“noReset”, true);
2. 中⽂乱码
编码问题,Android Studio修改⽂件编码的⽅法,最底部的UTf-8,点击选GBK就可以了,reload⽂件。(ps: 先把⽂件内容全选
复制⼀下再转换编码,再粘贴,不然⽂件内容就变乱码了)
3. 清除编辑框EditText内容
/**
* 逐字删除编辑框中的⽂字
* @param element ⽂本框架控件
*/
public void clearText(AndroidElement element){
String className = ss().getSimpleName();
if (("EditText")){
String text = t();
//跳到最后
eyCode(KEYCODE_MOVE_END);
for (int i = 0; i < (); i ++){
//循环后退删除
eyCode(BACKSPACE);
}
}else {
print("不是⽂本输⼊框架,⽆法删除⽂字");
}
}
4. 点击输⼊法键盘的搜索⽅法1: 切换输⼊法
利⽤adb命令先切换为⾃⼰的输⼊法,按了搜索再切换为appium的输⼊法
查看当前⼿机的输⼊法
cmd执⾏下⾯的的代码
adb shell ime list -s
可以看到类似下⾯的结果,
:UsersLITP>adb shell ime list -s
_mi/.ImeService
/.SogouIME
/.UnicodeIME
C:UsersLITP>
执⾏adb命令
先写好⼀个执⾏cmd的⽅法
/**
* 执⾏adb命令
* @param s 要执⾏的命令
*/


发布评论