高手的存在,就是让服务10亿人的时候,你感觉只是为你一个人服务......

Appium环境搭建-Windows版

目录
  1. 1.
  2. 2. 预准备
    1. 2.1. 安装nodejs
    2. 2.2. Android环境安装
  3. 3. 安装 Appium Server
    1. 3.1. 添加环境变量
  4. 4. Appium java-client安装与测试
    1. 4.1. jar包准备
    2. 4.2. 启动Android模拟器
    3. 4.3. 编写appium测试脚本

Alt text

win7上搭建Appium环境,并进行简单测试。

appium server端安装
appium java-client安装与测试


2015年前研究过web自动化测试,开始使用的selenium1.0版本,后来切换到selenium2.0-webdriver,在项目工作中有一些应用。

移动自动化测试兴起后,就想对此技术学习和研究,一直拖到现在…

Appium 作为移动自动化测试框架的一种,最近比较热门,功能最为强大。

跨平台。 支持windows、linux、ios操作系统上运行。
一套脚本。IOS和Android 两个平台一套脚本即可。
多语言。client支持多种语言,java、python、ruby、
简单。使用过webdriver的上手很容易,算是webdriver的一种扩展吧。

进入正题,开始搭建Appium测试环境。


预准备

安装nodejs

node.js下载地址:https://nodejs.org/en/download/

下载后安装,输入npm验证是否安装成功。

Alt text


Android环境安装

我们使用Android模拟器进行移动自动化测试,
需要进行Android SDK安装


安装 Appium Server

本机使用的win7操作系统,尽量不要使用低版本。

下载地址:https://bitbucket.org/appium/appium.app/downloads/

下载最新版本 AppiumForWindows_1_4_16_1.zip ,点击appium-installer.exe 进行安装。

Alt text


添加环境变量

添加C:\Program Files (x86)\Appium\node_modules.bin 到系统环境变量path中
Alt text

打开cmd,输入“appium-doctor”命令,验证是否安装完成。

Alt text

如果提示ANDROID_HOME找不到,在环境变量中添加ANDROID_HOME,地址:E:\android-sdk


Appium java-client安装与测试

github:https://github.com/appium/java-client

jar包准备

新建一个maven项目,appiumtest

引入appium java-client的jar包:
http://maven.outofmemory.cn/io.appium/java-client/

pom.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>appiumtest</groupId>
<artifactId>appiumtest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>appiumtest</name>
<description>appiumtest</description>

<dependencies>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>

</project>


启动Android模拟器

  1. 启动AVD Manager,启动一个模拟器
  2. 启动Appium Server,点击右上角的三角按钮

Alt text


编写appium测试脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.appium.test;

import io.appium.java_client.android.AndroidDriver;

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;

public class AppiumTestDemo {

public static void main(String[] args) throws MalformedURLException,
InterruptedException {

// 启动android driver
AndroidDriver driver = startDriver();
calculator(driver);
quit(driver);
}

/**
* 启动driver
*
* @return
* @throws MalformedURLException
*/

public static AndroidDriver startDriver() throws MalformedURLException {

// 初始化appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");

return new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),
capabilities);

}

/**
* 计算1+1
*
* @param driver
*/

public static void calculator(AndroidDriver driver) {

driver.findElement(By.name("1")).click();
driver.findElement(By.name("+")).click();
driver.findElement(By.name("1")).click();
driver.findElement(By.name("=")).click();
}

/**
* 退出driver
*
* @param driver
*/

public static void quit(AndroidDriver driver) {
driver.quit();
}

}

Alt text