三 APPIUM Android自动化 测试初体验(转)
1.创建一个maven项目





成功新建工程:

编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖:

<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.10</version> <scope>test</scope> </dependency> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>LATEST</version> <exclusions> <exclusion> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.saucelabs</groupId> <artifactId>sauce_junit</artifactId> <version>LATEST</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.53.0</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-remote-driver</artifactId> <version>2.53.0</version> </dependency>

然后在<dependencies></dependencies>后面加上appium专用库:

<repositories> <repository> <id>saucelabs-repository</id> <url>https://repository-saucelabs.forge.cloudbees.com/release</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>

保存之后会自动下载Maven Dependencies相关jar包

2.新建一个TestNG class
右键选择com.sun.appiumdemo
TestNG->Create TestNG class


具体代码如下:

package com.sun.appiumdemo;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
public class AppiumTest {
public AppiumDriver<WebElement> driver;
@BeforeClass
public void startTest() throws MalformedURLException {
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "res/app");
File app = new File(appDir, "ContactManager.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName","Android Emulator");
capabilities.setCapability("platformVersion", "4.4.2");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", "com.example.android.contactmanager");
capabilities.setCapability("appActivity", ".ContactManager");
driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void addContact() {
WebElement el = driver.findElement(By.xpath(".//*[@text='Add Contact']"));
el.click();
List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
textFieldsList.get(0).sendKeys("Some Name");
textFieldsList.get(2).sendKeys("Some@example.com");
driver.swipe(100, 500, 100, 100, 2);
driver.findElementByXPath(".//*[@text='Save']").click();
}
@AfterClass
public void afterClass() {
driver.quit();
}
}

在maven项目的根目录下新建res/app目录,将安卓测试APP放在此目录。
测试应用下载地址 :
链接: http://pan.baidu.com/s/1skPrdVJ 密码: bkvh
3.新建虚拟机或者真机运行
模拟器推荐使用Genymotion,直接下载 .exe,双击安装。
下载地址:
链接: http://pan.baidu.com/s/1nv3YXZz 密码: 3u93
如果想要用真机测试,那么需要打开真机的USB调试模式,打开CMD输入adb devices命令,返回一下设备信息表明设备开启调试模式成功。

4.启动Appium Server
启动Appium Server,用于接收和处理来自client的请求。双击已经安装好的Appium

如图所示表示启动成功
5.执行测试用例
执行测试用用例前,确保你的安卓模拟器已经打开或者真机已经打开USB调试并连接到电脑并且Appium Server启动成功。打开eclipse并打开AppiumTest.java,鼠标右键执行run as TestNG test,用例就开始执行了

Appium服务端就会输出相关信息

用例执行完毕。
三 APPIUM Android自动化 测试初体验(转)的更多相关文章
- 三 APPIUM Android自动化 测试初体验
1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <depende ...
- 二 APPIUM Android自动化 测试初体验
本文转自:http://www.cnblogs.com/sundalian/p/5629358.html 1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependenci ...
- 20155315庄艺霖第三次作业之Linux初体验
Linux初体验 安装Linux三两事 老师的作业要求基于VirtualBox安装Linux系统,我一开始下载了VB但是电脑运行不了,后来看网上的教程下载了VMware,才算开始了我的Linux之旅. ...
- 【APP测试初体验】android测试命令----压力测试
**以前一直做web测试,新一份工作新的开始,决定尝试新的测试,于是选择了一个从未接触的 APP测试. 怎么说呢,对于做web测试的人来说,app真的没有一点难度...测试流程一样,测试方法也差不多, ...
- 【APP测试初体验】android测试命令----adb常用命令
--adb shell 命令adb devices 查看设备adb shell adb shell "ls -al /system/bin" >e:\a.txtsample_ ...
- [唐胡璐]Android自动化- 测试环境搭建中遇到的问题
这里主要讲一下在配置过程中遇到一个小问题,其他的步骤会略过。 安装JDK,并设置环境变量 下载Android ADT, 解压后,文件夹显示如下: Download the ADT bundle for ...
- 二 APPIUM Android自动化 环境搭建
1.安装JAVA运行环境 2.安装Android开发环境 3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装. 4.安装APPIUM,App ...
- kafka-zk-安装测试初体验
第一步: 安装 安装工具brew install kafka 会自动安装依赖zookeeper 注:安装配置文件位置 /usr/local/etc/kafka|zookeeper 注: #tickTi ...
- Android Studio的初体验
在机缘巧合之下遇到了安卓开发,接触了Android Studio开始了漫长的改bug的道路,以下为简易版心酸历程 首先我需要成功安装Android Studio,由于我过于叛逆以及为了避免出错于是从一 ...
- WordCount-软件测试初体验
github:https://github.com/skz12345/WordCount PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 40 60 · Esti ...
随机推荐
- dos命令、变量、字符编码、注释、用户输入
一.dos命令 1.dos命令 c: 切换盘符 cd c:\pthon 切换路径 dir 查看目录下的文件 cd .. 返回到上一层目录 cd ../.. 返回到上一层的上一层目录 二.环境变量的配置 ...
- 2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态。 返回让所有值全变成1,最少的操作次数。 1 <
2023-01-12:一个n*n的二维数组中,只有0和1两种值, 当你决定在某个位置操作一次, 那么该位置的行和列整体都会变成1,不管之前是什么状态. 返回让所有值全变成1,最少的操作次数. 1 &l ...
- 2021-08-09:给定一个有正、有负、有0的数组arr,给定一个整数k,返回arr的子集是否能累加出k。1)正常怎么做?2)如果arr中的数值很大,但是arr的长度不大,怎么做?
2021-08-09:给定一个有正.有负.有0的数组arr,给定一个整数k,返回arr的子集是否能累加出k.1)正常怎么做?2)如果arr中的数值很大,但是arr的长度不大,怎么做? 福大大 答案20 ...
- 2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。要
2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.如果数组中不存在目标值 target,返回 [-1, -1].要 ...
- Python潮流周刊#1:如何系统地自学Python?
这里记录每周值得分享的 Python 及通用技术内容,部分内容为英文,已在小标题注明.(本期标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 文章&教程 1.编程语言的错误处理模式 ...
- Java配置线程池
一.Java配置线程池 1.线程池分类.其他 1.1.分类 IO密集型 和 CPU密集型 任务的特点不同,因此针对不同类型的任务,选择不同类型的线程池可以获得更好的性能表现. 1.1. IO密集型任务 ...
- 烂怂if-else代码优化方案
0.问题概述 代码可读性是衡量代码质量的重要标准,可读性也是可维护性.可扩展性的保证,因为代码是连接程序员和机器的中间桥梁,要对双边友好.Quora 上有一个帖子: "What are so ...
- JSON第二
HTML DOM 节点在 HTML DOM 中,所有事物都是节点.DOM 是被视为节点树的 HTML. TML 文档中的所有内容都是节点:整个文档是一个文档节点每个 HTML 元素是元素节点HTML ...
- selenium4-定位组元素
总体思路:find_elements() 该方法将所有定位到的元素放到一个列表中,再通过列表的下标定位到具体元素. 例1.使用tag name定位到百度搜索框,并输入selenium关键字 servi ...
- WPF中小的技能点 1
图片圆角的处理方式 采用boder里background背景设置图片并设置对应的圆角 <Border CornerRadius="20"> < ...