• appium环境的搭建


    appium环境的搭建

    下载、安装JDK&配置Java环境变量

    JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    配置环境变量:

    ​ 1、右键我的电脑--属性--高级--环境变量

    ​ 2、新建系统变量JAVA_HOME 和CLASSPATH

    ​ 变量名:JAVA_HOME

    ​ 变量值:C:Program FilesJavajdk1.7.0

    ​ 变量名:CLASSPATH

    ​ 变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

    ​ 3、选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加 到Path变量的值中,并使用半角的分号和已有的路径进行分隔。

    ​ 变量名:Path

    ​ 变量值:%JAVA_HOME%in;%JAVA_HOME%jrein;

    验证配置是否成功:重新打开控制台输入:java -verison,如果显示Java版本信息表示安装成功。

    下载、安装SDK、ADT&配置Android环境变量

    ADT:[http://developer.android.com/sdk/index.html](file:///D:/Users/dctang/Desktop/doc/  http:/developer.android.com/sdk/index.html)

    配置环境变量: 1、右键我的电脑--属性--高级--环境变量

    ​ 2、在系统变量域中新建ANDROID_HOME变量

    ​ 变量名:ANDROID_HOME

    ​ 变量值:E:appiumadt-bundle-windows-x86_64-20131030sdk(根据实际情况而定)

    ​ 3、选择“系统变量”中变量名为“Path”的环境变量,双击该变量

    ​ 变量名:path

    ​ 变量值:;%Android_Home%uild-toolsandroid-4.4;%Android_Home% ools;%Android_Home%platform-tools(注意:android-4.4要视情况而定)

    最后结果如图:

    ANDROID_HOME配置如下

    系统变量Path配置如下:

    下载、安装Appium

    cmd版本

    安装Node.js

    下载地址:http://www.nodejs.org/

    1、配置环境变量:

    ​ 右键我的电脑--属性--高级--环境变量—用户变量

    ​ 变量名:Path

    ​ 变量值:D: odejs; d:UserslcdingAppDataRoaming pm

    2、联网安装Appium 进入cmd命令行

    输入: npm install –g appium 或者 npm --registry http://registry.cnpmjs.org install -g appium (推荐这种,npm的国内镜像)

    如果需要装1.2.4:npm --registry http://registry.cnpmjs.org install -g appium@1.2.4

    注:-g全局参数 多等几分钟,可以看到appium的版本1.xx.xx及安装目录

    检查一下appium是否安装成功。 进入cmd命令行,输入appium 提示:Welcome to Appium 说明安装好了

    检查appium所需的环境是否OK(这步很重要) 进入Cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。

    exe****版本

    下载Windows版本的Appium地址:[https://bitbucket.org/appium/appium.app/downloads/](file:///D:/Users/dctang/Desktop/doc/  https:/bitbucket.org/appium/appium.app/downloads/)下载安装即可

    注意:AppiumForWindow版本需要Microsoft .Net Framework 4.5.1支持,在安装Appium的过程中如果没有安装会提示用户安装并跳转到“.Net Framework”下载地址。

    安装成功之后点击”Appium.exe”运行即可,运行界面如图:

    appium实例:
    新建mvn项目:

    修改pom.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <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>org.example</groupId>
        <artifactId>APPUiTest</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
            <aspectj.version>1.8.10</aspectj.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.14.3</version>
            </dependency>
    
            <dependency>
                <groupId>org.darkphoenixs</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/io.appium/java-client -->
            <dependency>
                <groupId>io.appium</groupId>
                <artifactId>java-client</artifactId>
                <version>7.0.0</version>
            </dependency>
    
    
    
    
        </dependencies>
    
    </project>
    

    代码:

    初始化driver:
    import io.appium.java_client.android.AndroidDriver;
    import io.appium.java_client.android.AndroidElement;
    import io.appium.java_client.remote.AndroidMobileCapabilityType;
    import io.appium.java_client.remote.IOSMobileCapabilityType;
    import io.appium.java_client.remote.MobileCapabilityType;
    
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    public class InitDriver {
    	public static void  initDriver() throws Exception {
    		File app=new File("C:/Users/Desktop/zhihu.apk");
    		DesiredCapabilities caps=new DesiredCapabilities();
    		//deviceName是必须项,但是值可以随便写
    		caps.setCapability("deviceName", "moniqi");
    		//要安装的app路径,路径必须是服务端所在的电脑上存放的apk文件路径
    		caps.setCapability("app", app.getAbsolutePath());
    		//如果你的安卓是4.2以下,需要使用automationName指定Selendroid
    		//caps.setCapability("automationName", "Selendroid");
    		//使用appium的输入法,支持中文并隐藏键盘
    		caps.setCapability("unicodeKeyboard", true);
    		//将输入法重置回设备默认的输入法
    		caps.setCapability("resetKeyboard", true);
    		//不重签名app
    		caps.setCapability("noSign", true);
    		//设置driver超时时间,单位s
    		caps.setCapability("newCommandTimeout", 600);
    		//appPackage表示要启动的应用的包名
    //		caps.setCapability("appPackage", "com.zhihu.android");
    //		//appActivity表示要启动的应用的起始activity
    //		caps.setCapability("appActivity", "com.zhihu.android.app.ui.activity.MainActivity");
    //		//appWaitActivity,这个参数的值写的是app启动后真正的界面activity
    		caps.setCapability("appWaitActivity", "com.zhihu.android.app.ui.activity.MainActivity1");
    		//deviceReadyTimeout修改appium判断设备正常响应的超时时间,默认是5秒
    		caps.setCapability("deviceReadyTimeout",30);
    		//browserName手机web自动化的浏览器的名字
    		//caps.setCapability("browserName", "Chrome");
    		//udid表示指定连接某台设备
    		caps.setCapability("udid", "127.0.0.1:62001");
    		//caps.setCapability("noReset", false);
    		caps.setCapability("fullReset", true);
    		AndroidDriver<AndroidElement> driver=new AndroidDriver<AndroidElement>(
    				new URL("http://127.0.0.1:4723/wd/hub"), caps);
    	}
    	
    	public static AndroidDriver<AndroidElement> initDriver1() throws Exception{
    		File app=new File("C:/Users/LXG/Desktop/zhihu.apk");
    		DesiredCapabilities caps=new DesiredCapabilities();
    		caps.setCapability(MobileCapabilityType.DEVICE_NAME, "xxx");
    		caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
    		caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium");
    		caps.setCapability(MobileCapabilityType.UDID, "127.0.0.1:62001");
    		caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);
    		caps.setCapability(MobileCapabilityType.FULL_RESET, true);
    		caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.zhihu.android");
    		caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.zhihu.android.app.ui.activity.MainActivity");
    		caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);
    		caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);
    		caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);
    		AndroidDriver<AndroidElement> driver=new AndroidDriver<AndroidElement>(
    				new URL("http://127.0.0.1:4723/wd/hub"), caps);
    		
    		return driver;
    		
    	}
    	
    	
    	public static void main(String[] args) {
    		try {
    			InitDriver.initDriver();
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    }
    
    
    登录
    	public  void login(){
    		AndroidElement ignore=driver.findElementById("com.zhihu.android:id/is_private");
    		ignore.click();
    		AndroidElement cancue=driver.findElementById("android:id/button3");
    		cancue.click();
    		AndroidElement login=driver.findElementById("com.zhihu.android:id/login_btn");
    		login.click();	}
    
    }
    

    作者:我是刘先生
    地址:https://www.cnblogs.com/cekaigongchengshi/
    文章转载请标明出处,如果,您认为阅读这篇博客让您有些收获,不妨点击一下推荐按钮,据说喜欢分享的,后来都成了大神

    欢迎扫码关注微信公众号
  • 相关阅读:
    网页中插入Flash动画(.swf)代码和常用参数设置
    关于UML中逻辑模型的工具的详细介绍
    简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera
    mysql sock找不到
    简述nginx日志管理切割日志(亲测可行)
    Linux下使用rm删除文件,并排除指定文件(亲测可行)
    常驻内存以及如何避免内存泄漏
    TASK异步进程处理场景
    TCP长连接数据传输(同步方式)
    在智联上投了一个月的简历,很多都有意向,但是却没有通知我去
  • 原文地址:https://www.cnblogs.com/cekaigongchengshi/p/13176450.html
Copyright © 2020-2023  润新知