Appium--入门demo
Appium环境搭建已经在在博客中写出
http://www.cnblogs.com/feimaoyuzhubaobao/p/5057832.html 那么本篇博客主要介绍java版本的appium入门demo。在开始demo之前,Android模拟器要安装好,其实模拟器就是模拟器真机,除了不能打电话和发信息,其他应该都可以的。模拟器的话在这里还可以安装genymotion,其实它不是普通的模拟器,严格来说,genymotion是虚拟机,被网传定义为模拟器。想安装这款模拟器的话。我在这里提供安装文件地址 http://yun.baidu.com/s/1pJC6ve7 和我自己在官网上注册号的账号和密码:feimao ,feimao12345。genymotion安装文件比较多,效果确实比前面AVD.exe模拟器要快些。我就不再赘述模拟器了,下面开始正式appium入门demo。
使用Eclipse创建demo工程
1.打开Eclipse,【File】-->【New】-->【Project】
2.选择【Java Project】-->【Next】
3.输入工程名称AppiumDemo,点击【Finish】

4.右键点击工程 New-Folder,新建两个文件夹:apps和libs,目录结构如下:

导入测试的类库
由于Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。所以selenium类库是要导入的。
1.Selenum2类库: http://seleniumhq.org/downlod

做过selenium自动化的朋友这块应该是熟悉的,就不多讲了。
2.Appium类库: http://appium.io/downloads.html
3.右键点击工程空白处,选择【Build Path】-->【Configure Build Path】

selenium的类库我导入比较多哈,不影响的。
下载测试APK
1.下载测试的文件
ContactManager.apk https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager
2.将下载的apk直接复制黏贴到项目的apps目录下

建立package包和demo文件
1.在src文件夹上右键单击,【New】-->【package】,输入包名: com.feimao.demo,点击【Finish】
2.在package下新建类:ContactTest.java
下载地址如下:
代码如下:
package com.feimao.demo; import java.io.File;
import java.net.URL;
import java.util.List; import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver; public class ContactTest {
private AndroidDriver driver;
@Before
public void setUp() throws Exception {
//设置apk的路径
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "ContactManager.apk"); //设置自动化相关参数
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "Android Emulator"); //设置安卓系统版本
capabilities.setCapability("platformVersion", "4.4.2");
//设置apk路径
capabilities.setCapability("app", app.getAbsolutePath()); //设置app的主包名和主类名
capabilities.setCapability("appPackage", "com.example.android.contactmanager");
capabilities.setCapability("appActivity", ".ContactManager"); //初始化
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} @Test
public void addContact(){
WebElement el = driver.findElement(By.name("Add Contact"));
el.click();
List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
textFieldsList.get(0).sendKeys("feimaoyuzhubaobao");
textFieldsList.get(2).sendKeys("forever together");
driver.swipe(100, 500, 100, 100, 2);
driver.findElementByName("Save").click();
} @After
public void tearDown() throws Exception {
driver.quit();
}
}
启动Android模拟器(也可以连接真机)
1.cmd输入:android avd,选择模拟器,点击【Start】即可。如果你在eclipse中集成了插件,那么在eclipse中也可以直接启。


2.启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:

启动Appium
1.由于之前安装好了appium,那么直接双击,然后点击启动按钮

2.cmd命令,appium 启动

运行Appium入门demo
1.在eclipse中,项目右键>【Run As】>【JUnit Test】,运行过程如下:

到这里appium的入门demo已经全部写完了,这只是一个模拟呼叫联系人的例子,然后可以模拟此demo,写登录啊、定位元素啊等等。appium定位元素的方法貌似有9种,后续还会写一些工作中的例子和解决appium问题的方法。另外还可以去官网上下载源代码来看,看它的原理,看它的API等。
Appium--入门demo的更多相关文章
- appium跑demo简单实例讲解
安装appium,设置 demo.pyfrom appium import webdriver #要装webdriver,方法查看http://www.cnblogs.com/sincoolvip/p ...
- 【SSH系列】初识spring+入门demo
学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍 ...
- 基于springboot构建dubbo的入门demo
之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...
- apollo入门demo实战(二)
1. apollo入门demo实战(二) 1.1. 下载demo 从下列地址下载官方脚本和官方代码 https://github.com/nobodyiam/apollo-build-scripts ...
- lua入门demo(HelloWorld+redis读取)
1. lua入门demo 1.1. 入门之Hello World!! 由于我习惯用docker安装各种软件,这次的lua脚本也是运行在docker容器上 openresty是nginx+lua的各种模 ...
- netty入门demo(一)
目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...
- canal入门Demo
关于canal具体的原理,以及应用场景,可以参考开发文档:https://github.com/alibaba/canal 下面给出canal的入门Demo (一)部署canal服务器 可以参考官方文 ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- SpringBoot 入门 Demo
SpringBoot 入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...
- ReactJs 入门DEMO(转自别人)
附件是分享的一些他人的ReactJs入门DEMO,以前版本使用的是JSXTransformer.js,新版的用browser.min.js替代了. DEMO 下载地址:http://files.cnb ...
随机推荐
- java设计模式—— 工厂模式
菜鸡互啄... 工厂模式通过定义一个创建对象的接口,让其子类决定实例化哪个工厂类.因此我们要解决接口选择的问题,实现不同的计划创建不同的对象. 首先我们定义一个轿车接口 public interfac ...
- 卷积神经网络的一些经典网络2(Inception)
在架构内容设计方面,其中一个比较有帮助的想法是使用1x1卷积.1x1卷积能做什么? 对于6x6x1的通道的图片来说,1x1卷积效果不佳,如果是一张6x6x32的图片,那么使用1x1卷积核进行卷积效果更 ...
- ST-LINK V2 DIY笔记(一)
最近一段时间调试STM32板子的时候,都是用JLINK+杜邦线,或者拿官方板子当STLINK用,可以用,但是体积比较大,有时候觉得比较麻烦.正好前一阵手头项目少,就想DIY一个STLINK. 图是网上 ...
- CSS3属性之圆角效果——border-radius属性
在css3之前,要实现圆角的效果可以通过图片或者用margin属性实现(可以参考这里:http://www.hicss.net/css-practise-of-image-round-box/).实现 ...
- [LeetCode] Find Smallest Letter Greater Than Target 找比目标值大的最小字母
Given a list of sorted characters letters containing only lowercase letters, and given a target lett ...
- 【Python3.6+Django2.0+Xadmin2.0系列教程之二】学生信息管理系统(入门篇)
上一篇我们已经创建好了一个Xadmin的基础项目,现在我们将在此基础上构建一个同样很基础的学生信息管理系统. 一.创建模型 模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段, ...
- 深入java多线程一
涉及到 1.线程的启动(start) 2.线程的暂停(suspend()和resume()) 3.线程的停止(interrupt与异常停止,interrupt与睡眠中停止,stop(),return) ...
- codeforces 842D Vitya and Strange Lesson
题目大意: 定义mex数为数组中第一个没有出现的非负整数.有m个操作,每个操作有一个x,将数组中所有的元素都异或x,然后询问当前的mex Input First line contains two i ...
- [BZOJ]1031 字符加密Cipher(JSOI2007)
持续划水中…… 感觉BZOJ上AC人数多的基本都是一些模板题,也就是某些算法的裸题.这些题目mark一下到时候回来复习也是不错的选择. Description 喜欢钻研问题的JS同学,最近又迷上了对加 ...
- THUPC2017 抱大腿记
Day 0: 移步http://www.cnblogs.com/juruolty/p/6854848.html Day 1: 来到了清华大学. 见到了zrt巨巨. 又发了件衣服,我们开始看别的队的名字 ...