混合型app以Appium搭建自动化测试开发环境

Appium

官方网址:http://appium.io/

中文社区:http://testerhome.com/

下载地址(由testerhome社区提供):http://pan.baidu.com/s/1jGvAISu#dir

1. 下载最新版本AppiumServer 1.2.0,解压后,进入目录下找到Appium.exe,运行即可,此程序作为Appnium与被测设备之间通讯的服务端

出现如下界面说明启动成功

2. 将真机连接到PC端

3. 我使用Eclipse作为开发IDE,建立一个maven工程appium-demo,在pom中引用了公司框架中的Selenium核心工程,这样可以省去添加Selenium依赖的过程

,同时在maven的中央库中找到Appium包,并引用

Appium的maven引用

GroupId:io.appium

ArtifactId:java-client

Version:1.5.0

4. 建立工程后,就可以写测试代码了,在工程中建立一个Junit Test类Test1.java,代码如下:

package com.example.hello;

import io.appium.java_client.AppiumDriver;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Set;

import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

@RunWith(BlockJUnit4ClassRunner.class)
public class Test1 extends TestCase {

    private AppiumDriver driver;

    @Before
    public void start() throws MalformedURLException {
        // 使用phonegap打包的hybrid app路径
        String apppath = "D:\\Work\\codes\\hands\\hands-hello-phonegap\\platforms\\android\\bin\\HelloWorld.apk";

        // 初始化AppniumDriver
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "NX403A");// 真机测试android设备
        capabilities.setCapability("platformVersion", "4.2.2");// 真机android版本为4.2.2
        capabilities.setCapability("platformName", "Android");// 真机为android系统
        capabilities.setCapability("app", apppath);// 被测app apk包的位置
        capabilities.setCapability("appPackage", "com.example.hello");// 被测app的Activity类所在包
        capabilities.setCapability("appActivity", ".HelloWorld");// 被测app的Activity类
        capabilities.setCapability("automationName", "selendroid");// 因为真机为4.2版本,所以使用selendroid
        // http://127.0.0.1:4723/wd/hub地址就是AppiumServer的地址
        driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),
                capabilities);
    }

    @Test
    public void main() {
        try {
            Set<String> contextNames = driver.getContextHandles();
            for (String contextName : contextNames) {
                System.out.println(contextName); // 用于返回被测app是NATIVE_APP还是WEBVIEW,如果两者都有就是混合型App
            }

            Thread.sleep(5000);// 等它一会

            driver.context("WEBVIEW_0");// 让appium切换到webview模式以便查找web元素
            WebElement text_baidusearch = driver.findElement(By.id("word"));
            text_baidusearch.click();// 点击百度的搜索输入框(web元素)

            /*
             * appium不支持中文输入 参考了robotium的以js方式为元素直接设置value的做法
             * 利用Selenium中Webdriver执行js方法实现中文输入
             */
            JavascriptExecutor jse = (JavascriptExecutor) driver;
            jse.executeScript("document.getElementById(‘word‘).value=‘输入法‘");

            Thread.sleep(10000);// 等一会观察下效果
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    @After
    public void stop() {
        driver.quit();
    }

}

工程结构如下

5. 保持被测设备为解锁状态,虽然Appium有一个unlock的功能,但有时不起作用,所以最好还是将锁屏关闭。运行Test1.java,得到如下结果

时间: 2024-08-19 14:22:11

混合型app以Appium搭建自动化测试开发环境的相关文章

手机自动化测试:搭建appium手机自动化测试开发环境

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478.poptest已经开始了移动测试开发的课程,在课程中加入了公司的实际案例,学员上课的过程中感觉课程难度很高,我们在想办法保证课程的难度和深度的情况,调整教学方式让学员可以在同样的时间里掌握更深的知识. 本次和大家分享appium的环境搭建. 第一步:安装appium,我安装的是<AppiumForWindows-1.0.0.3

搭建Andriod开发环境

上一篇文章中总结了Andriod系统架构以及系统移植要点,为了进行Andriod系统移植,需要搭建相应开发环境,包括:JDK.SDK(adt).NDK(cdt)以及arm-Linux交叉编译环境等.我的平台以Linux虚拟机为背景,以下为详细步骤: JDK安装: 可以先下载安装再配置环境变量,或者直接在Terminal下执行以下代码一次性完成: # add-apt-respository "deb http://archive.canonical.com/ lucid partner" # ap

我的第一个phonegap开发WebApp的demo 怎么搭建安卓开发环境以及安装phonegap

一.先来张图,赏心悦目观赏一下,哈 . 这个就是使用phonegap框架搭建起来的,运行在安卓环境上的第一个demo. 安卓的开发环境,大家都会搭建了,所以不赘述.讲一下,安装phonegap的步骤. 二.phonegap的安装   1. 设置系统变量系统变量 Path后面添加:(以下变量都是必须的,路径根据自己的设置)E:\android_sdk\sdk\tools;E:\android_sdk\sdk\platform-tools;E:\android_sdk\eclipse\plugins

搭建typescript开发环境最详细的全过程

本文<搭建typescript开发环境最详细的全过程>的源代码在 https://github.com/lingsbb/ts_demo/ 下载. 搭建typescript开发示例https://github.com/Microsoft/TypeScriptSamples typescript案例https://www.tslang.cn/samples/index.html 安装git:http://git-scm.com/download下安装git 安装node:https://nodej

mac 下搭建 Android 开发环境

因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,特此记录.也为有这方面需求的朋友提供个方便. 首先我们需要知道开发安卓的环境由以下几个组件组成:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK.下面就和大家一起学习如何来快速的,适合新手的搭建方式吧! 方法/步骤 因为系统自带jdk,所以就不用在下载

Android应用开发(一):Android平台搭建与开发环境配置

本文从自身经历的角度分享了Android应用开发的第一步,即Android平台搭建与开发环境配置,主要包括平台的选择与安装及其安装过程中经常遇到的问题,最后给出一个实例,即第一个Android软件"Hello World!". 1.Android Studio软件下载 可以在百度上直接下载Android Studio,或者到官网www.android.com上直接下载(中国大陆资源可能会受限). 注意:这里推荐使用Android Studio,并不推荐使用Eclipse或者IDEA开发

搭建android开发环境,android studio + Genymotion

刚开始学习android,记录下自己的学习过程,期望和大家一起学习.进步 既然要学习android开发,首要之事就是搭建android开发环境,以前的android的开发环境都是eclipse+android SDK,因为后续google主要推荐的开发工具是android studio,因此,本文也主要记录搭建androi studio的过程. 1.搭建JAVA SDK 众所周知,android SDK大部分是引用JAVA SDK的,所以首先我们要安装好JAVA环境,即安装JAVA SDK+配置

CentOS 7快速搭建Nodejs开发环境

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如何在CentOS7快速搭建Nodejs开发环境. 工具/原料 CentOS 7 Nodejs 通过NVM安装 1 NVM(Node version manager)顾名思义,就是Node.js的版本管理软件,可以轻松的在Node.js各个版本间切换,项目源码在GitHub: 如果你想长期做 node

搭建Android开发环境之——Android4.0.3, 4.1, 4.2, 4.3, 4.x,及升级 ADT(22.0.5)和SDK(22.x)

搭建Android开发环境之旅(Android4.0.3) 1.首先要下载相关的软件 1). JDK 6 以上 2). eclipse( Version 3.6.2  or higher ) 点击下载 3). SDK(android-sdk_r18-windows) 眼下是最新的 点击下载 4). ADT 18  (Android Development Tools  安装开发工具) 插件 点击下载 5). 还得下载 Android SDK 4.0.4 system img,其它版本号的可能不要