三 APPIUM Android自动化 测试初体验

摘要:
1.创建一个maven项目。成功创建新项目:编辑pom。xml,并在:org下添加附录依赖项。testngtestng6.9.10测试˂/dependency

1.创建一个maven项目

clipboard

clipboard[1]

clipboard[2]

clipboard[3]

clipboard[4]

成功新建工程:

clipboard[5]

编辑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包

clipboard[6]

 

2.新建一个TestNG class

右键选择com.sun.appiumdemo

TestNG->Create TestNG class

clipboard[7]

clipboard[8]

具体代码如下:

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

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

下载地址:

链接: http://pan.baidu.com/s/1nv3YXZz 密码: 3u93

如果想要用真机测试,那么需要打开真机的USB调试模式,打开CMD输入adb devices命令,返回一下设备信息表明设备开启调试模式成功。

clipboard[9]

 

4.启动Appium Server

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

clipboard[10]

如图所示表示启动成功

 

5.执行测试用例

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

clipboard[11]

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

clipboard[12]

用例执行完毕。

免责声明:文章转载自《三 APPIUM Android自动化 测试初体验》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇简单代理 设置Java枚举的小知识点下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android开发 TextView的开发记录

前言  此篇博客是记录一些TextView开发上一些少用的开发功能项.目前开发记录如下:   添加图片   文字滚动   添加省略号   实现长文的收起和展开功能   改变一个字符串里自定字符的颜色或者大小 效果字体(粗体/斜体/下划线)增加效果字体的方法有很多既可以在xml属性里设置,又可以在代码里设置.(这里我们除了不演示使用SpannableSt...

触屏手机3G网站设计

随着智能手机iphone和Android的热潮,衍生出基于Safari和Chrome浏览器的触屏手机网站Touch Screen Mobile Website。 触屏手机网站在中国还属于起步阶段,从行业的现状来看,其体验参差不齐,笔者将从设备、系统、浏览器、网络、四个维度来与大家共同探讨触屏手机的网站设计: 一、设备 ·分辨率与屏幕尺寸 ·触屏机的交互特点...

Android ImageView点击效果

ImageView设置点击效果需要注意两点,第一个设置android:clickable="true",第二个 <item android:drawable="@drawable/button_n"/>属性必须放到最后才能生效<?xml version="1.0" encoding="utf-8"?><!--发现大类列表项--...

Android_自适应布局

1、屏幕相关概念1.1分辨率是指屏幕上有横竖各有多少个像素1.2屏幕尺寸指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸android将屏幕大小分为四个级别(small,normal,large,and extra large)。1.3屏幕密度每英寸像素数手机可以有相同的分辨率,但屏幕尺寸可以不相同,Diagonal pi...

90%的前端都会踩的坑

【建议收藏】90%的前端都会踩的坑,你中了吗? 写在前面 移动开发时代,前端同学刚刚送别了让人头秃的IE浏览器,却发现憧憬已久的移动互联网时代并不是想象中那般美好。各种棘手的系统兼容问题和浏览器兼容问题怎么也让人高兴不起来。作为一名工作不足3年的前端程序媛,始终相信好记性不如烂笔头。每次在项目开发过程中踩到的坑,都习惯性地记录了下来。昨日一瞥竟积少成多...

觅踪2

        昨天的页面设计受到了停滞,今天换了一种形式,之前是直接用按键绘制,现在改为代码操纵,自己的进程缓慢了许多,明天将继续加油 界面代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.co...