Appium移动端自动化测试-常见error解决方法

1:Original error: Could not extract PIDs from ps output. PIDS: [], Procs: ["bad pid 'uiautomator'"]

解决方法:https://blog.csdn.net/u012106209/article/details/77012141

2:UiAutomator quit before it successfully launched) (WARNING: The server did not provide any stacktrace information

原因:UiAutomator手机端的端口被占用

解决方法:第一步 删除AppiumBootstrap.jar 位置 /data/local/tmp/   

                  第二步 重启手机 再次启动Appium 启动脚本

3:A new session could not be created. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 24.31 second

解决方法:重启手机 Appium

4:elenium.SessionNotCreatedException: A new session could not be created. (Original error: Remote install failed: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]) (WARNING: The server did not provide any stacktrace information)

解决方法: 

第一步:开启USB安装

第二步:执行脚本的时候 如果是第一次使用Appium安装APP 需要先安装下列两个APP (执行脚本后 根据手机提示进行即可)

5:脚本启动正常 元素也都有定位到 执行了click的操作 但是APP却没有对应的跳转

解决方法:参考下图 需要在"开发者选项"中把“USB调试”打开

再次执行代码 可以运行

package com.AutoAPP.APP;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;

import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;

public class AppTest {
	
	public static AndroidDriver<AndroidElement> initDriver(String appPackage,String appActivity) throws Exception{

		DesiredCapabilities caps=new DesiredCapabilities();
		//
		caps.setCapability(MobileCapabilityType.DEVICE_NAME, "anything");
		
		caps.setCapability("appPackage", appPackage);
		//要启动的应用的起始activity
		caps.setCapability("appActivity", appActivity);
		//resetKeyBoard是执行完测试后将设备的输入法重置回原有的输入法
		caps.setCapability("unicodeKeyBoard", true);
		caps.setCapability("resetKeyBoard", true);
		//不对app进行重签名,因为有的app在重签名之后无法使用
		caps.setCapability("noSign", true);
		//设置session的超时时间
		caps.setCapability("newCommandTimeout", 600);
		
		caps.setCapability("udid", "2be8daaa9805");
		//http://127.0.0.1:4723/wd/hub 为Appium的URL连接  
		return new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
			
	}
	
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		AndroidDriver<AndroidElement> driver = initDriver("net.csdn.csdnplus","net.csdn.csdnplus.activity.SplashActivity");
		
		Thread.sleep(10000);
		
		driver.findElementByName("我的").click();
				
	}

}

猜你喜欢

转载自blog.csdn.net/hujyhfwfh2/article/details/82933164