java+appium(1) driver初始化

前提:已经安装好测试环境

1、安装 jdk  2、安装sdk(解压即可使用) 3、node安装  4、安卓模拟器 5、环境变量配置(JAVA_HOME,ANDRIO_HOME)  6、adb命令检查 7、appium安装 8、eclipse集成环境(导入需要的jar包)

第一天首先来写一下dirver的初始化,初始化的公共参数放在一个方法里,返回caps对象如下

        DesiredCapabilities caps = new DesiredCapabilities();// 要传递给服务端的参数对象
        caps.setCapability(MobileCapabilityType.DEVICE_NAME, "随便写");// deviceName的值在安卓下随便写都可以成功
        caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");// 要测试类型
        caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true);// 是否支持appium自带的unicode输入法
        caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true);// 是否重置设备的输入法
        caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true);// 是否不重签名app
        caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);// 表示服务端session超时时间,默认是60秒
        caps.setCapability(MobileCapabilityType.UDID, udid);// 表示要连接的哪一台设备

 

我们可以根据需要自己封装方法

1、如果是启动未安装的应用程序

       File app = new File(appPath);// 要安装测试的app
        caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

AndroidDriver driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);

2、如果是启动已经安装的应用程序

        caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, appPackage);
        caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, activity);

        AndroidDriver driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);

 

ps:       aapt d badging apk路径可以查看package和activity

3、一个简单的知乎登录的脚本

AndroidDriver driver =InitDriver.initDriverWithInstaller("127.0.0.1:62001","com.zhihu.android","com.zhihu.android.app.ui.activity.LauncherActivity","com.zhihu.android.app.ui.activity.MainActivity");
        
        Thread.sleep(10000);
        AndroidElement notLogin = driver.findElement(By.name("未登录"));
        notLogin.click();
        
        AndroidElement otherLogin = driver.findElement(By.id("com.zhihu.android:id/guest_header_button"));
        otherLogin.click();
        
        AndroidElement accountPhone = driver.findElement(By.id("com.zhihu.android:id/email_input_view"));
        accountPhone.sendKeys("账号");
        
        AndroidElement password = driver.findElement(By.id("com.zhihu.android:id/password"));
        password.sendKeys("密码");
        
        AndroidElement login = driver.findElement(By.id("com.zhihu.android:id/btn_progress"));
        login.click();
        
        //driver.getPageSource(),这个方法表示获取当前界面上所有的资源,返回结果是个字符串

       //判断是否登录成功
        if(driver.getPageSource().contains("xxx")){
            System.out.println("login success");
        }else{
            System.out.println("login fail");
        }

 

 

你可能感兴趣的:(java+appium(1) driver初始化)