android 自动化测试 appium

1、安装 nodejs 测试安装是否成功:运行cmd,输入命令node -v

2、安装 android 的 sdk 包,由于本人的用的是普通eclipse 只要eclipse 上安装ADT 插件,且并确保你安装了Level17或以上的版本 api。设置ANDROID_HOME 系统变量为你的 Android SDK 路径,并把tools和platform-tools两个目录加入到系统的 Path路径里。

3、安装 maven 插件

4、安装appium:在cmd使用命令 npm install –g appium

5、在cmd启动appium

6、运行实例代码

package com.saucelabs.appium;

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.Capabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.HasTouchScreen;
import org.openqa.selenium.interactions.TouchScreen;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteTouchScreen;
import org.openqa.selenium.remote.RemoteWebDriver;

public class AndroidContactsTest {
  public class SwipeableWebDriver extends RemoteWebDriver implements
      HasTouchScreen {
    private final RemoteTouchScreen touch;

    public SwipeableWebDriver(final URL remoteAddress,
        final Capabilities desiredCapabilities) {
      super(remoteAddress, desiredCapabilities);
      touch = new RemoteTouchScreen(getExecuteMethod());
    }

    public TouchScreen getTouch() {
      return touch;
    }
  }

  private WebDriver driver;

  @Test
  public void addContact() {
    final WebElement el = driver.findElement(By.name("Add Contact"));
    el.click();
    final List<WebElement> textFieldsList = driver.findElements(By
        .tagName("textfield"));
    textFieldsList.get(0).sendKeys("Some Name");
    textFieldsList.get(2).sendKeys("[email protected]");
    driver.findElement(By.name("Save")).click();
  }

  @Before
  public void setUp() throws Exception {

    final File app = new File(
        "C:/Users/Administrator/Desktop/appium/appium-master/sample-code/apps/ContactManager/ContactManager.apk");
    final DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("device", "Android");
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability(CapabilityType.VERSION, "4.2");
    capabilities.setCapability(CapabilityType.PLATFORM, "MAC");
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("app-package",
        "com.example.android.contactmanager");
    capabilities.setCapability("app-activity", ".ContactManager");
    driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),
        capabilities);
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
  }
}

代码从放的地址

时间: 2024-10-26 07:07:34

android 自动化测试 appium的相关文章

android自动化测试--appium运行的坑问题及解决方法

问题 1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress  之前的会话没有关闭,然后你又运行了测试实例,也没有设置覆盖. 解决: 1. 重新停止appium服务,开启Appium服务 2. 在Genarel Setting那里设置覆盖Session,重启Appium 测试结束在AfterClass加driver.quit() 2.

在Mac OSX 上配置Appium+Android自动化测试环境

前提准备 开始正文之前,你需要准备好一些基本条件: 安装好Mac OSX 操作系统的设备 能够访问中国局域网以外资源的方法(没有也行,但很痛苦) 已经安装好 homebrew 已经安装好 Python3.x 已经安装好 Java Runtime Environment 安装 Android Studio / SDK 本文主要为了测试安卓应用,那么这里我们就需要安装Android Studio或者Android SDK. Android Studio - 完整的开发以及测试工具,需要梯子 Andr

Android 自动化测试框架

Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk 但是这些工具框架都有什么关系呢,先通过一张图来了解一下吧.(图是某博客上借过来的) 是不是一脸懵逼,不知道这是什么鬼.下面详细了解一下. 一.Monkey 是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用

关于移动端自动化测试-Appium的搭建

web端我们常用的开源自动化用的是selenium,而移动端我们选择的是Appium,当然也可以使用monkey或者阿里的macaca,他们在理论上都使用了webdriver: 关于Appium环境的搭建,我这里就不copy了,虫师的博客中说明的很详细的四篇文章,而且还有个demo例子.大家可以直接跳过去看一下~ 虫师使用的是Python哦~ Appium移动自动化测试(一)--安装Appium Appium移动自动化测试(二)--安装Android开发环境 Appium移动自动化测试(三)--

Android自动化测试课程大纲

Native App与Web App的自动化测试方法 Android自动化测试常用工具介绍 Robotium Android的Instrumentation机制 Robotium环境搭建及基本使用方法 Robotium基本API的使用 基于Robotium搭建测试框架 UIAutomator UIAutomator架构与原理介绍 UIAutomator环境搭建及基本使用方法 UIAutomator基本API的使用(案例演练) UiDevice UiSelector UiObject UiColl

对自己开发的产品负责——《腾讯Android自动化测试实战》

Android应用由于设备内存有限.网络连接不稳定.迭代速度快.用户体验要求高等原因,加上测试人员需要面对 Native.WebView 和 HTML5 等不同技术,造成了单元测试.性能测试.压力测试. 兼容性测试.速度测试等各方面都更大的挑战性.因此开发人员必须为自己开发的产品负责,在交付测试人员之前进行Android自动化测试. 腾讯移动品质中心的核心成员秉承"为自己开发的产品负责"的原则,把多年来在移动测试领域的探索和实践总结成了<腾讯Android自动化测试实战>.

支付宝开源非侵入式 Android 自动化测试工具 Soloπ

Soloπ(SoloPi)是支付宝开源的一个无线化.非侵入式的Android自动化测试工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 本文是SoloPi团队关于项目的深度解读, 作者:乔瑞凯,蚂蚁金服高级无线开发工程师 前言 近年来,随着移动互联网的蓬勃发展,移动测试技术也取得了长足的进步,从早期基于测试脚本的单机自动化,到录制回放.图像识别.云测平台等测试技术贴合实际业务需求深度应用和创新,测试效率从而一次又一次被提升. 本文主要介绍支付宝在移动端上实

移动端自动化测试Appium 从入门到项目实战Python版

移动端自动化测试Appium 从入门到项目实战Python版 说到APP自动化测试,Appium可是说是非常流行了, 不仅支持多语言.多平台的优势,同时支持Andriod.iOS.H5的自动化测试:本课程会从初级的Appium框架讲起,涉及业界常见的po模型.关键字模型.服务自动化.持续集成等实战讲解,让你快速上手移动端自动化测试工作 appium做app自动化测试,环境搭建是比较麻烦的.也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用.

Android自动化测试工具实现简述

前言 自动化测试在产品开发和测试中都有着非常重要的作用.在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题:在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖.Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义.目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现. 了解自动化测试的一定对Robotium并不陌生,Robotium是一款国外的An