appium testcase1(Java)
1 package com.saucelabs.appium;
2
3 import io.appium.java_client.AppiumDriver;
4 import io.appium.java_client.android.AndroidDriver;
5
6 import java.io.File;
7 import java.net.URL;
8 import java.util.List;
9
10 import org.junit.After;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.openqa.selenium.By;
14 import org.openqa.selenium.WebElement;
15 import org.openqa.selenium.remote.CapabilityType;
16 import org.openqa.selenium.remote.DesiredCapabilities;
17
18 public class AndroidContactsTest {
19 private AppiumDriver driver;
20
21 @Before
22 public void setUp() throws Exception {
23 // set up appium
24 File classpathRoot = new File(System.getProperty("user.dir"));
25 File appDir = new File(classpathRoot, "../../../apps/ContactManager"); //目录位置对应好
26 File app = new File(appDir, "ContactManager.apk");
27 DesiredCapabilities capabilities = new DesiredCapabilities();
28 capabilities.setCapability("deviceName","Android Emulator");
29 capabilities.setCapability("platformVersion", "4.4");
30 capabilities.setCapability("app", app.getAbsolutePath());
31 capabilities.setCapability("appPackage", "com.example.android.contactmanager");
32 capabilities.setCapability("appActivity", ".ContactManager");
33 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
34 }
35
36 @After
37 public void tearDown() throws Exception {
38 driver.quit();
39 }
40
41 @Test
42 public void addContact(){
43 WebElement el = driver.findElement(By.name("Add Contact"));
44 el.click();
45 List textFieldsList = driver.findElementsByClassName("android.widget.EditText");
46 textFieldsList.get(0).sendKeys("Some Name");
47 textFieldsList.get(2).sendKeys("Some@example.com");
48 driver.swipe(100, 500, 100, 100, 2);
49 driver.findElementByName("Save").click();
50 }
51
52 }
调试时遇到问题1:AndroidDriver包找不到,原因是我前面导的包是java-client-1.2.1.jar,需要导入新的包java-client-2.1.0.jar,下载地址:https://search.maven.org/remotecontent?filepath=io/appium/java-client/2.1.0/java-client-2.1.0.jar
import io.appium.java_client.android.AndroidDriver;
调试时遇到问题2:调试时跑起来没问题,执行到44行时程序退出,eclipse的failure trace报的错是找不到element,考虑到43行元素已经定位都没问题,觉得应该是第二个页面元素还没找到,于是在44行后添加如下代码,等待页面加载
try{Thread.sleep(10);}catch(Exception e){}
调试时遇到问题3:定位行数为42,即@Test后的函数那行,这个问题基本都是由于appium没启动或者长时间开着的缘故,一般调试前最好重新launch下
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'PC201404231316', ip: '192.168.18.100', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_45'
appium testcase1(Java)的更多相关文章
- Appium(JAVA)Windows 7系统搭建及示例运行
Appium(JAVA)Windows 7系统搭建及示例运行 分类: Appium 2014-11-14 17:44 4323人阅读 评论(2) 收藏 举报 1.搭建Android环境 http:// ...
- (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出
selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...
- 如何夯实(Java)编程基础,并深入学习和提高
如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...
- TCL校园招聘——软件开发工程师(java) 只招5个。。。
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
- 开源工作流 Bonita BPM (JAVA)
Bonita BPM 开源工作流 Bonita BPM (JAVA) http://www.bonitasoft.com/
- ZeroMQ(java)中对IO的封装(StreamEngine)
哎,各种各样杂七杂八的事情...好久没有看代码了,其实要搞明白一个与IO相关的框架,最好的办法就是把它的I/0的读写两个过程搞清楚...例如在netty中,如果能将eventLoop的运行原理搞清楚, ...
- 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码
转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...
- 随机产生30个两个两位数相加的题目(java)
编程思路: 1首先遇到JAVA产生随机数的问题. 2把产生的随机数设定范围. 3把划分的范围再分四个小区段分别对应四则运算法则加减乘除. 4打印输出. 题目源代码(Java) package coun ...
随机推荐
- 【BZOJ】1606: [Usaco2008 Dec]Hay For Sale(背包)
http://www.lydsy.com/JudgeOnline/problem.php?id=1606 越来越水了T_T 这题两种做法,一个正规01背包,价值就是体积 还有一种是非正规背包,即 if ...
- 初识python面向对象
一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...
- mysql 和字符串截取相关的知识点
LOCATE(',','123,456') - 1) SELECT LEFT('123,456',3); SELECT LEFT('123,456',LOCATE(',','123,456') - 1 ...
- Web服务器上可能被包含或被请求的不同脚本源代码文件
Web服务器上可能被包含或被请求的不同脚本源代码文件的大致数量(建议值为1024~4096). ; 如果你不能确定,则设为 0 :此设定主要用于拥有数千个源文件的站点. apc.optimizatio ...
- TCP和UDP的135、137、138、139、445端口的作用
如果全是2000以上的系统,可以关闭137.138.139,只保留445 如果有xp系统,可能以上四个端口全部要打开 无论你的服务器中安装的是Windows 2000 Server,还是Windows ...
- 【液晶模块系列基础视频】1.3.iM_TFT30模块简介
[液晶模块系列基础视频]1.3.iM_TFT30模块介绍 ============================== 技术论坛:http://www.eeschool.org 博客地址:http:/ ...
- HITOJ 2662 Pieces Assignment(状压DP)
Pieces Assignment My Tags (Edit) Source : zhouguyue Time limit : 1 sec Memory limit : 64 M S ...
- NBUT 1028 该减肥了(简单递推)
[1028] 该减肥了 时间限制: 1000 ms 内存限制: 65535 K 问题描述 由于长期缺乏运动,Teacher Xuan发现自己的身材臃肿了许多,于是他想健身,更准确地说是减肥.Teach ...
- springMvc文件下载
//主要看导入的是那些类 import com.ibm.db.service.ITopicService;import org.apache.commons.io.FileUtils;import o ...
- 解决电脑访问Discuz!手机版(支持触屏版)
discuz电脑访问手机版的方法现在需要来修改一下2个文件,即可用电脑浏览discuz的手机版本:找到./source/function/function_core.php 文件,查找 : funct ...