二 APPIUM Android自动化 测试初体验

本文转自:http://www.cnblogs.com/sundalian/p/5629358.html

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("[email protected]");

      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,双击安装。

官网地址:https://www.genymotion.com/download/

下载地址:

链接: 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服务端就会输出相关信息

用例执行完毕。

时间: 2024-11-04 06:38:57

二 APPIUM Android自动化 测试初体验的相关文章

三 APPIUM Android自动化 测试初体验

1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.10</version> <scope>test</s

二 APPIUM Android自动化 环境搭建

1.安装JAVA运行环境   2.安装Android开发环境   3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装.   4.安装APPIUM,Appium服务端 提供APPIUM Server配置参数,启动Server的可视化软件. 第一种安装方式,将下载的appium的安装包双击安装,下载地址: 链接: http://pan.baidu.com/s/1o7DRF8A 密码: nyb3 第二种安装方式,通过npm安装,前提是已成功安装nodej

Android中socket初体验

最近要做一个Android的项目,用到socket和服务器之间交互,研究了一个小demo.主要遇到了以下几个问题: 1.客户端创建socket对象时一直失败NetworkOnMainThreadException,查了一下,原因是4.0之后在主线程中执行http请求会报这个错.解决办法是将代码放到了一个新线程中,问题就解决了. 2.服务器接收到客户端信息后反馈给客户端信息,将该信息表示在客户端UI上时报“android.view.ViewRoot$CalledFromWrongThreadExc

【APP测试初体验】android测试命令----压力测试

**以前一直做web测试,新一份工作新的开始,决定尝试新的测试,于是选择了一个从未接触的 APP测试. 怎么说呢,对于做web测试的人来说,app真的没有一点难度...测试流程一样,测试方法也差不多,比较不同的是,app测试貌似对测试人员的要求更低...一次错误的转型.自我感觉,app测试就是对一些工具的熟练运用了吧,因为可使用的命令比较集中,所以比较好学.下面是最近尝试用到的命令 adb shell monkey -v -v -v -p tv.fuzegame.fuzelaucher --th

【APP测试初体验】android测试命令----adb常用命令

--adb shell 命令adb devices 查看设备adb shell adb shell "ls -al /system/bin" >e:\a.txtsample_rw 1 sid 13f1e2f4ed814690a918ac85f600458d 刷设备IDsample_rw 2 sid 查看设备ID adb shell input text "[email protected]"   发送文本 adb shell input keyevent &q

Android Studio之初体验 ---- 很好很强大

一.介绍 很多android 开发者都感叹做android开发竟然都没有一款专门的软件来使用,不像IOS有Xcode,WP有VS.一般做android开发都是eclipse或者ADT或者IntelliJ IDEA.后来,终于,哈哈,有了Android Studio.人称"亲生"的android开发IDE,本人使用了一段时间之后,发现功能真是强大,完爆eclipse等开发工具,最大的亮点就是[代码提示]和[实时预览布局]这两块. 官网上介绍说,Android Studio有诸多好处: 基

Android Studio Git初体验

写这一篇呢就是要给自己提个醒,不会的一定要及时问,不要自以为然,最后给自己埋下一个坑. git我用的是Git bash+Git extensions图形可视化工具.加入项目之初,就用这两个工具去clone了一份项目到本地.项目文件包括后台,微信,网站,IOS和Android的几大分支. 于是我就心满意足地进行开发,在Android Studio中就可以导入项目了,当时为了方便,直接open打开了Android目录的文件..... 这就是大坑,然后呢,我就开始写layout,类,适配器,接口(幸好

Android逆向分析初体验

一.    准备知识 1.             懂Java Android开发. 2.             懂NDK ,C 语言 Android 动态链接库.SO开发. 3.             懂Android反编译Smali 语法. 4.             懂adb 和 jdb 等等工具使用. 5.             懂IDA 调试(远程动态调试APK和本地静态调试.SO文件) 6.             懂Arm汇编语法(因为移动设备芯片是Arm架构的,不是Int

WordCount-软件测试初体验

github:https://github.com/skz12345/WordCount PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 40 60 · Estimate · 估计这个任务需要多少时间 40 60 Development 开发 305 510 · Analysis · 需求分析 (包括学习新技术) 60 120 · Design Spec · 生成设计文档 20 30 · Design Review · 设计复审 (和同事审核设计文档) 20