APPium入门笔记

环境配置

1.首先安装Appium所需要的插件

l Install node.js (includesnpm, the node.js package manager).

http://nodejs.org/

l java运行环境

http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp

此为必须环境,请优先安装,IOS和WIN7一样需要(使用稳定的最新版即可)

2.请明确自己的机器配置环境

iOS

Mac OSX 10.7+
XCode 4.5+ w/ Command Line Tools
Android

Mac OSX 10.7+ or Windows 7+ or Linux
Android SDK ≥ 16 (SDK < 16 in Selendroidmode)

3.下载Appium for windows,现在是1.0.0版本

AppiumForWindows-1.0.0.zip

https://bitbucket.org/appium/appium.app/downloads/

解压后如下图


双击Appium.exe就能启动Appium界面

点击Launch开启服务(小火箭图标)

 

4.下载Android SDK

https://developer.android.com/sdk/index.html

 

解压到本地C:,配置环境运行变量

ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk

这里需要填写你把Android SDK放在你本地的地址

 

Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

这个地址必须加

5.下载maven3

http://maven.apache.org/download.cgi

最新版本 Maven 3.2.1下载完成之后将其解压,我将解压后的文件夹重命名成 maven,并将它放在 D:\Server 目录下,即 maven最终的路径是:D:\Server\maven

配置环境运行变量

系统变量:MAVEN_HOME = D:\Server\maven

用户变量:path = %MAVEN_HOME%\bin

 

6.下载eclipse

https://www.eclipse.org/downloads/

Eclipse Standard 4.3.2,  基本版

Eclipse IDE for Java Developers, java版

随便选一个都行

 

安装eclipse插件,这个是必选,代码运行环境需要

 


找到下面需要安装的插件,点击Install

l  Maven插件


l  TestNG


l  Android


注:如果需要特殊的系统版本模拟器,自己去选择

 

启动第一个例子

1. 启动AVD(根据自己的要求来选择模拟器)

(注意调试脚步的时候,最好是解锁状态)



2. 启动eclipse,创建一个MAV项目,注意配置运行环境


3.添加引用项

我使用了一个插件报表插件Arrow,需要在这里把相关内容引入进项目,可以去互联网上下载最新资源包。

https://github.com/NetEase/arrow

http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22testng%22

http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22testng%22

3个资源都可以下到对应的版本

 

4.修改配置文件

创建一个AndroidCtripTest.java文件,详细情况见我的程序包

 

l  AndroidCtripTest.java是第一个测试携程apk的实例

l  apps目录下放入所有待测试APK文件

l  class是系统生成的目录

l  libs放入框架内需要引入的插件

l  log目录是代码运行日志

l  src存放部分引用的源码

l  test-output存放运行报告,主要看power-emailable-report.html

l  build.xml是采用ant集成的时候需要

l  config.properties是测试框架配置

l  log4j.properties是日志配置文件,很多地方需要此文件

l  pom.xml项目配置文件

pom.xml添加如下依赖

  <dependencies>

    <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.11</version>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupId>org.seleniumhq.selenium</groupId>

            <artifactId>selenium-java</artifactId>

            <version>LATEST</version>

            <scope>test</scope>

        </dependency>

         <dependency>

            <groupId>io.appium</groupId>

            <artifactId>java-client</artifactId>

            <version>1.0.2</version>

    </dependency>

  </dependencies>

 

config.properties文件

retrycount=0 #定义重跑次数,不是必填项,默认值是0,即失败不重跑

sourcecodedir=src #定义源代码路径,不是必填项,默认值是src

sourcecodeencoding=UTF-8 #定义源代码编码,不是必填项,默认值是utf-8

 

testng.xml文件,这个是使用testNG框架,这样可以右键直接运行想运行的测试用例

<?xmlversion="1.0"encoding="utf-8"?>

<!DOCTYPEsuiteSYSTEM "http://testng.org/testng-1.0.dtd">

 

<suitename="Pris_AOS_UI_AutoTest"annotations="JDK"thread-count="1"

    verbose="1">

    <testname="Test">

        <classes>

        <classname="appiumdome.appiumdome.AndroidContactsTest"/>

        </classes>

    </test>

 

<listeners>

<listenerclass-name="com.netease.qa.testng.TestResultListener"/>

<listenerclass-name="com.netease.qa.testng.RetryListener"/>

<listenerclass-name="com.netease.qa.testng.PowerEmailableReporter"/>

</listeners>

</suite>

 

5.调试代码

实例代码:

如果有不明白的地方,欢迎一起讨论。 [email protected]

 

设置appium代码

 

原生控件设置驱动"device","Android"

// set up appium

        File classpathRoot = new File(System.getProperty("user.dir"));

        File appDir = new File(classpathRoot,"apps/ContactManager");

        File app = new File(appDir,"p_9013.apk");

                

        // new 1.0 vison

        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability(CapabilityType.BROWSER_NAME,"");

        capabilities.setCapability("device","Android");//

        capabilities.setCapability("app", app.getAbsolutePath());

        capabilities.setCapability("appPackage","android.view");

        capabilities.setCapability("appActivity","home.HomeActivity");

        driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

 

混合控件设置驱动"device","Android"

// set up appium

        File classpathRoot = new File(System.getProperty("user.dir"));

        File appDir = new File(classpathRoot,"apps/ContactManager");

        File app = new File(appDir,"p_9013.apk");

 

        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability("automationName","selendroid");

        capabilities.setCapability(CapabilityType.PLATFORM, "android");

        capabilities.setCapability("app", app.getAbsolutePath());

        capabilities.setCapability("appPackage"," android.view");

        capabilities.setCapability("appActivity"," home.HomeActivity");

        driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

 

这里还需要多看sample-code还有java-client的API


运行成功日志:

[INFO ]15:46:44, retrycount=0

[INFO ]15:46:44, sourceCodeDir=/src/com/netease/qa/testng

[INFO ]15:46:44, sourceCodeEncoding=UTF-8

[TestNG] Running:

  D:\workspace\appiumdome\testng.xml

 

[INFO ]15:47:10, AndroidContactsTest setUp

[INFO ]15:47:10, addContact Start

[INFO ]15:50:10, addContact Failure

[INFO ]15:50:11, failedTest = addContact

 

===============================================

Pris_AOS_UI_AutoTest

Total tests run: 1, Failures: 1, Skips: 0

Configuration Failures: 1, Skips: 0

===============================================

 

运行后的报表



APPium入门笔记,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。