zoukankan      html  css  js  c++  java
  • appium java 环境搭建

    appium是一款open source 移动自动化测试框架,既支持Android 也支持IOS。

    appium 基于webdriver协议执行测试脚本。

    今天,如炒剩饭,介绍一下搭建appium Android环境

    需要:

    首先,下载安装appium for windows,在环境变量path添加";C:Program Files odejs;C:Program Files (x86)Appium ode_modules.bin;"

    接下来 安装node js,安装完毕再环境变量path 添加安装路径“;C:Program Files odejs”

    验证 node js:在命令行输入node -v,会输出v0.12.4

    然后安装Android SDK,并添加环境变量:ANDROID_HOME

    并在path添加";%ANDROID_HOME%platform-tools"

    验证 appium:在命令行输入appium-doctor,如果结果如下,证明 环境搭建成功

    接下来可以在eclipse创建一个java project

    在project 新建apps的folder 把ContactManager.apk copy进去

    注意, 本文使用Testng,不是eclipse自带的junit,自行百度

    添加appium example:

    package com.dbyl.core;
     
    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;
    
    import java.io.File;
    import java.net.URL;
    import java.util.List;
     
    public class AppDemo {
        private  AndroidDriver  driver;
     
        @BeforeMethod(alwaysRun=true)
        public void setUp() throws Exception {
            // set up appium
            File classpathRoot = new File(System.getProperty("user.dir"));
            File appDir = new File(classpathRoot, "apps");
            File app = new File(appDir, "ContactManager.apk");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("deviceName","Android Emulator");
            capabilities.setCapability("platformVersion", "4.4");
            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(groups={"addContact"})
        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("Some Name");
            textFieldsList.get(1).sendKeys("10086");
            textFieldsList.get(2).sendKeys("Some@example.com");
            driver.swipe(100, 500, 100, 100, 2);
            driver.findElementByName("Save").click();
        }
    }

    如果,你看到一片报错,那就对了,说明相关依赖包并没有导入。

    这时候,你需要将以下2个jar 包import(selenium-standalone 和 java-client)

    若执行case,首先在启动一个本地的Android模拟器

    然后在命令行输入:appium

    等待命令行出现以下提示:

    然后run as testng test

    大功告成

    相关资料: ContactManager.apk 下载地址:http://pan.baidu.com/s/1i3KlNrZ

               java-client 2.2 : http://pan.baidu.com/s/1pJ7Opsv

                  selenium standalone 4.6:http://pan.baidu.com/s/1qWE7SD2

      

  • 相关阅读:
    Jquery想说爱你不容易
    关于css
    sass相关实例
    web前端学习之HTML
    web前端学习
    软件工程来换网前端设计
    关于前端开发的相关资料及例子
    四则运算
    自我介绍
    关于读完《软件工程》之后不解的问题
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/4562199.html
Copyright © 2011-2022 走看看