appuim启动报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appuim启动报错相关的知识,希望对你有一定的参考价值。

启动appium时,突然报错,这时候关键看这句话:main.js: error: Unrecognized arguments: file\base.apk.

这里表示有个空找不着。

原因是上次打开时,不小心将设置中的package选中,导致每次启动时,都会去检查package。但是没有使用package,就报错了。因此把package前面的勾去掉,再次运行,即可启动。

拓展资料:

appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。

其特点有:

1.“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。

2.“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。

3.“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。

appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。

appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及Selenium(WebDriver)如何做到支持多语言的原因;

appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量。
参考技术A 程序启动报错,这时只能选择关闭程序运行。
然后选择安全模式修复软件。
修复完成,点击重启,检测数据信息正确性。
参考技术B 你好,根据你的描述,你说的应该是APPium启动报错,一般有两种情况:一是环境变量设置参数不正确导致的,可重新设置一下。二是node和appium的版本兼容问题,可以检查版本是否兼容。 参考技术C 可以直接重新尝试一下启动机器,这样的话可以重新运行

Appuim项目实战---录制视频

背景:在app测试中,很多场景当时出现,后期无法出现,如果这个时候就通过录制视频的方式记录那么问题就很快解决了,录制视频的简单命令:adb shell screenrecord  --time-limit 10 /sdcard/demo.mp4  默认录制10分钟就结束,注意我录制视频是会使用ip,因为在框架中断掉手机也需要使用到ip, 默认录制视频使用的屏幕都很大,我们可以换个小的屏幕,具体录制视频adb参数可以看这篇博客http://blog.csdn.net/wirelessqa/article/details/22725581

    在我们项目中,我们实际需要在方法开始前执行录制视频,在监听成功或者失败后,在结束掉录制视频,而关键在于,结束是把录制视频的进程给杀掉,在启动时就记录了这个进程,然后就是把文件pull到本地,运行的类都不变化,就增加一个监听方法,以下是主要实现思路

package until;
import java.io.IOException;
public class publicmethod {
	
	/**
	 * 
	* @测试点: 开始录制视频
	  @param @param ip
	  @param @param name
	  @param @return   
	* @备注: Process  
	* @author zhangjun 
	* @date 2017年9月13日 
	  @修改说明
	 */
	public    Process  startRecordVideo(String ip,String name){
		System.out.println("开始录制视频");
		String runadb="adb  -s "+ip+"  shell screenrecord  /sdcard/"+name+".mp4";
		System.out.println("执行的命令:"+runadb);
		Process	runprocess = null;
		try {
			runprocess = Runtime.getRuntime().exec(runadb);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return runprocess;
	}
	
	
	/**
	 * 
	* @测试点: 结束视频录制,通过杀掉录制视频的进程,然后把视频数据复制到另外一个文件中
	  @param  process 传入的进程
	  @param  path   视频录制的位置
	  @param  ip    传入的ip
	* @备注: void  
	* @author zhangjun 
	* @date 2017年9月13日 
	  @修改说明
	 */
	//
	public void stopRecordVideo(Process process, String path, String ip) {
		process.destroy(); // 结算掉进程
		// 移动视频地址
		String moveVideo = "adb -s " + ip + " pull  " + path + "" + "   D:\\\\test";
		System.out.println("执行的命令:" + moveVideo);
		try {
			Runtime.getRuntime().exec(moveVideo);// 移动数据内容
			System.out.println("移动视频成功,请在d盘test下查看");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

更改监听器内容,

package until;

import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;

public class TestngListener extends TestListenerAdapter {
	
	 boolean  Recordvideo=false;
	 publicmethod  pubmethod=new publicmethod();
	 Process getprocess;
	 String ip="10.37.2.151:5555";
	 
	@Override
	public void onTestStart(ITestResult result) {
		super.onTestStart(result);
		logTest.logInfo("启动我是onTestStart,我是testng的测试方法");
		String name=result.getName();
		logTest.logInfo("获取的方法名"+name);
		getprocess=pubmethod.startRecordVideo(ip,name);
	}
	@Override
	public void onStart(ITestContext testContext) {
		super.onStart(testContext);
		logTest.logInfo("启动我是onstart,所有初始化都在我这里做");
	}
	@Override
	public void onTestFailure(ITestResult tr) {
		super.onTestFailure(tr);
		logTest.logInfo("我是onTestFailure,代表我们的其他操作失败了");
		//结束视频
		pubmethod.stopRecordVideo(getprocess, "sdcard/"+tr.getName()+".mp4",ip);
	}
	@Override
	public void onTestSuccess(ITestResult tr) {
		super.onTestSuccess(tr);
			//结束视频
		pubmethod.stopRecordVideo(getprocess, "sdcard/"+tr.getName()+".mp4",ip);
	}
	@Override
	public void onTestSkipped(ITestResult tr) {
		super.onTestSkipped(tr);
			
	}

}

  

以上是关于appuim启动报错的主要内容,如果未能解决你的问题,请参考以下文章

JRebel启动报错

mycat启动报错

Linux下启动MySQL报错

tomcat启动报错!

tomcat启动报错!

SpringBoot启动类报错,有啥办法解决吗