• 搭建appium的android环境


    首先需要准备:

    1、jdk(步骤不再啰嗦)

    2、android SDK,下载地址:http://developer.android.com/sdk/index.html,下载sdk tools,可能需要翻墙,提供一个国内下载地址:http://www.androiddevtools.cn/

    3、appium,下载地址:http://appium.io/

    4、nodejs,下载地址:https://nodejs.org/en/

    5、Genymotion,下载地址:https://www.genymotion.com/#!/download(android模拟器,需要先注册帐号)

    6、appium lib,下载地址:http://appium.io/downloads.html

    上述软件都准备好后,则进入搭建步骤。

    一、安装、配置

    将上述软件依次安装。

    1. android sdk安装完毕后,需要配置环境变量

    新建ANDROID_HOME    D:Program Files (x86)Androidandroid-sdk

    在PATH中添加:%ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;

    2. nodejs安装完毕后,需要配置环境变量

    在PATH中添加:D:Program Files odejs;

    3.appium安装完毕后,需要配置环境变量

    D:Program Files (x86)Appium ode_modules.bin;

    4.配置好后,启动cmd,

    输入node -v,查看node安装版本

    输入appium-doctor检查appium的安装环境是否成功,如下图:

    二、使用eclipse

    1、启动eclipse分别导入selenium-server-standalone-2.48.2.jar和java-client-3.3.0.jar(即appium jar)

    2、就可以编写程序啦。

    三、准备Androidsdk所需要工具,下载地址在http://www.androiddevtools.cn/

    platform-tools
    这是 adb, fastboot 等工具包。把解压出来的 platform-tools 文件夹放在 android sdk 根目录下,并把 adb所在的目录添加到系统 PATH 路径里,即可在命令行里直接访问了 adb, fastboot 等工具

    android-5.1
    这是Android开发所需的Build-Tools,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/build-tools 文件夹即可

    android-21
    这是Android开发所需的sdk,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/platforms文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择 Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

    system-images
    这是在创建模拟器时需要的system image,也就是在创建模拟器时 CPU/ABI项需要选择的,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/system-images文件夹下即可, 如果没有 system-images目录就先创建此文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择 Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

    四、利用工具识别待测apk的相关信息

    1、启动appium安装目录下的appium.exe,按如下操作

    2、启动genymotion,创建一个android模拟器,Android版本根据需要自己选择

    3、启动Android模拟器,并启动待测app,如果安装app失败,则需要下载Genymotion-ARM-Translation_v1.1.zip,

    4、打开android sdk安装目录下的Androidandroid-sdk oolsuiautomatorviewer.bat。

     5、编写测试代码

    package com.test;
    
    import java.io.File;
    import java.net.URL;
    import java.util.List;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.CapabilityType;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.testng.annotations.AfterMethod;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.Test;
    
    import io.appium.java_client.android.AndroidDriver;
    
    /** 
     * @author QiaoJiafei 
     * @version 创建时间:2016年1月11日 下午3:19:02 
     * 类说明 
     */
    public class FirstTest {
         private  AndroidDriver  driver;
         
            @BeforeMethod(alwaysRun=true)
            public void setUp() throws Exception {
                // set up appium
               File app = new File("appsoft", "ContactManager.apk");
                DesiredCapabilities capabilities = new DesiredCapabilities();
                capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
                capabilities.setCapability("platformName", "Android");
                capabilities.setCapability("deviceName","Android Emulator");
                capabilities.setCapability("platformVersion", "5.0");
                capabilities.setCapability("app", app.getAbsolutePath());
                capabilities.setCapability("appPackage", "com.example.android.contactmanager");
                capabilities.setCapability("appActivity", ".ContactManager");
                driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
            }
         
            @AfterMethod(alwaysRun=true)
            public void tearDown() throws Exception {
                driver.quit();
            }
         
            @Test
            public void addContact(){
                WebElement el = driver.findElement(By.name("Add Contact"));
                el.click();
                List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
                textFieldsList.get(0).sendKeys("testname");
                textFieldsList.get(1).sendKeys("10010");
                textFieldsList.get(2).sendKeys("test@163.com");
                driver.swipe(100, 500, 100, 100, 2);
                driver.findElementByName("Save").click();
            }
    }

    6、打开cmd,输入appium,或者打开appium.exe,点击启动

    7、运行测试代码即可

  • 相关阅读:
    数据比赛实现的细节
    matlab 构建数据集实用 api
    matlab 构建数据集实用 api
    新技能 get —— 如何校验 md5(windows)
    新技能 get —— 如何校验 md5(windows)
    中间件 —— 消息中间件(MOM)
    中间件 —— 消息中间件(MOM)
    详细说明svn分支与合并---命令行
    SVN 分支及合并的介绍和实践---命令行
    SVN中的Branches分支以及Merge 应用举例
  • 原文地址:https://www.cnblogs.com/qiaoyeye/p/5131382.html
Copyright © 2020-2023  润新知