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 ...
随机推荐
- 文件夹管理工具(MVC+zTree+layer)(附源码)
写在前 之前写了一篇关于 文件夹与文件的操作的文章 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) 把常用的对于文件与文件夹的操作总结了一 ...
- byte[] 转字符串 中文乱码
闲来无事,写了一个UWP的UDP/TCP小Demo,网上找了个网络调试助手,就兴冲冲的开始玩耍 结果“鸡同鸭讲”: 讲英文的时候大家都是abc,hello man!how are you? 讲中文的时 ...
- JAVA多线程(一)
进程与线程: 一个进程可以包含多个线程.多个线程可以并行,但是一个时间点只能有一个线程是运行状态. 线程的状态: 查看API可以,线程的状态分为五种: (JVM里面的状态:These states a ...
- SEO站点优化学习总结
1.网站收录查询 在搜索引擎里面输入Site:域名 即可. 尾巴——学习SEO可以看看以下几个网站: 卢松松博客[一个草根的博客]:http://lusongsong.com/ 站长之家[里面有站长统 ...
- keypress,keydown,keyup,charCode,keyCode兼容性问题
keypress对应的是字符编码,如“ABC”,“123”之类,有大小写之分(有兼容性问题) keydown,keyup对应的是键盘的键码,无大小写之分,每个键盘都有一个键码(无兼容性问题) 使用ke ...
- 【Spring】构建Springboot项目 实现restful风格接口
项目代码如下: package hello; import org.springframework.boot.SpringApplication; import org.springframework ...
- jquery 获取Select option 选择的Text和Value
jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关设置 获取一组radio被选中项的值:var item = $(' ...
- 512M内存编译php出错
make时错误如下 virtual memory exhausted: Cannot allocate memory make: *** [ext/fileinfo/libmagic/apprenti ...
- 概率 高消light oj 1151
t个样例 n个楼梯或蛇; a b 刚好走到a会到b; 问走到100期望; dp[i] i到100的期望 这一点没奇怪的东西 dp[i]=1/6(dp[i+1]+dp[i+2]..+6); 有 ...
- 查看本机ip
视窗+R 然后输入cmd, enter 后再黑色窗口里输入 ipconfig