appium+java+junit demo运行
对java熟悉一些,所以想用java把appium给做起来。今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的。
各块环境的搭建:
1、安装appium客户端,省略下载和安装步骤

2、在myeclipse中新建一个java project,省略步骤,我的结构是这样的

3、在java project中新建libs和apps的目录,用于存放第三方jar包和apk包
java-client-4.1.2.jar
链接:http://pan.baidu.com/s/1hse8yaw 密码:kijn
selenium-java-2.48.0.jar
链接:http://pan.baidu.com/s/1hrAgpmc 密码:f55p
selenium-server-standalone-2.48.0.jar
链接:http://pan.baidu.com/s/1gfhsqhd 密码:sma8
4、创建junit test cast:点击项目src-new-other-java-JUnit-JUnit test cast
然后调用普通java中的测试用例
我的测试用例:也就是连接appium-启动应用-关闭appium连接
package pc.driver.com.cn; import io.appium.java_client.android.AndroidDriver;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL; import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities; public class AndroidTestDemo {
private AndroidDriver<WebElement> driver;
public void setUp(){
//设置apk的路径
File clasPathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(clasPathRoot,"apps");
File app = new File(appDir,"modeng.apk");
//设置自动化相关参数
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
//设置安卓系统版本和平台
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("platformName", "Android");
//设置apk路径
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的主包名和主类名
capabilities.setCapability("appPackage", "cn.com.pclady.modern");
capabilities.setCapability("appActivity", "cn.com.pclady.modern.module.launcher.SplashActivity"); //初始化
try {
driver =new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
Thread.sleep(10000);
//driver.findElement(By.id("com.android.packageinstaller:id/ok_button")).click();
Thread.sleep(10000);
driver.quit();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
这里要注意,如果find方法找元素无法找到,会报错,junit会报错
5、运行的时候,必是运行junit程序,

记得一定要关appium不然,再运行,会报无法创建新的session
如果成功:

然后完成后,再进入Console控制台打印我的日志输出。
OK了,一个简单的demo就可以了,但是如果要想用好appium,那它的api必须得熟悉如何调用才可以。再继续研究吧
appium+java+junit demo运行的更多相关文章
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
原文链接:http://jiajun.iteye.com/blog/810150 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行
利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 原文链接 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- java Junit 测试中异常处理
错误提示: junit.framework.AssertionFailedError: No tests found in错误解决办法 用junit Test运行后,出现如下的错误:junit.fra ...
- JVM学习001通过实例总结Java虚拟机的运行机制
JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html 文章转载自:http://www.c ...
- appium+java (六) 手机chrome浏览器操作
一.前言 早之前写过一段时间的appium for native app(即原生app脚本),但尴尬的是从未写过类似的文章,后期有时间我会陆续接着写,近一阶段有时间又把appium捡起来了,由于公司产 ...
- appium+java(五)微信小程序自动化测试实践
前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...
- JDK自带的运行监控工具JConsole观察分析Java程序的运行
原文地址:https://blog.csdn.net/libaolin198706231987/article/details/55057149 一.JConsole是什么 从Java 5开始 引入了 ...
- Java Junit测试框架
Java Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...
- 如何利用JConsole观察分析JAVA程序的运行
今天在CSDN看到一朋友说关于对JVM的研究,正好看到有关于jconsole的文章,特意找了下资料,留着备用 ps:jconsole建议用JDK1.6的1.5的界面太简陋了,另外还有增强版jvisua ...
随机推荐
- test2
package com.analysis.code; import org.apache.commons.lang3.StringUtils; import java.io.*; import jav ...
- 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
在日常开发中,大多数人的做法是在开发环境时开启调试模式,在产品环境关闭调试模式.在开发的时候可以查看各种错误.异常,但是在线上就把错误显示的关闭. 上面的情形看似很科学,有人解释为这样很安全,别人看不 ...
- 开发WP版本的大菠萝英雄榜
前言 想当年Team有无数人在玩大菠萝,我被忽悠进来做肉盾,选了蛮子,从1.0开始,经历了103.105.108.2.0.2.1.这个游戏对我最大的帮助是学习了不同的技术,比如XAML.比如xcode ...
- 反距离权重插值inverse distance weighting,IDW
反距离权重 (IDW) 插值显式假设:彼此距离较近的事物要比彼此距离较远的事物更相似.当为任何未测量的位置预测值时,反距离权重法会采用预测位置周围的测量值.与距离预测位置较远的测量值相比,距离预测位置 ...
- MATLAB中subplot的用法
写成subplot(m,n,p)或者subplot(mnp). subplot是将多个图画到一个平面上的工具.其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的, ...
- Spring学习进阶(四) Spring JDBC
Spring JDBC是Spring所提供的持久层技术.主要目的是降低使用JDBC API的门槛,以一种更直接,更简洁的方式使用JDBC API.在Spring JDBC里用户仅需要做哪些比不可少的事 ...
- Yii 字段验证
关于验证的属性: $enableClientValidation:是否在客户端验证,也即是否生成前端js验证脚本(如果在form中设置了ajax验证,也会生成这个js脚本). $enableAjaxV ...
- js-设置焦点
function CheckForm() { if(document.form1.trainingName.value==""){ alert("培训班名称不能为空!&q ...
- 【凯子哥带你学Framework】Activity界面显示全解析
前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分 ...
- SSM三大框架(转发)
转自:SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis) 使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基 ...