zoukankan      html  css  js  c++  java
  • appium+java+junit demo运行

    对java熟悉一些,所以想用java把appium给做起来。今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的。

    各块环境的搭建:

    1、安装appium客户端,省略下载和安装步骤

    2、在myeclipse中新建一个java project,省略步骤,我的结构是这样的

    3、在java project中新建libs和apps的目录,用于存放第三方jar包和apk包

    java-client-4.1.2.jar

    链接:http://pan.baidu.com/s/1hse8yaw 密码:kijn

    selenium-java-2.48.0.jar

    链接:http://pan.baidu.com/s/1hrAgpmc 密码:f55p

    selenium-server-standalone-2.48.0.jar

    链接:http://pan.baidu.com/s/1gfhsqhd 密码:sma8

    4、创建junit test cast:点击项目src-new-other-java-JUnit-JUnit test cast

    然后调用普通java中的测试用例

    我的测试用例:也就是连接appium-启动应用-关闭appium连接

     1 package pc.driver.com.cn;
     2 
     3 import io.appium.java_client.android.AndroidDriver;
     4 import java.io.File;
     5 import java.net.MalformedURLException;
     6 import java.net.URL;
     7 
     8 
     9 import org.openqa.selenium.By;
    10 import org.openqa.selenium.WebElement;
    11 import org.openqa.selenium.remote.CapabilityType;
    12 import org.openqa.selenium.remote.DesiredCapabilities;
    13 
    14 public class AndroidTestDemo {
    15     private AndroidDriver<WebElement> driver;
    16     public void setUp(){
    17         //设置apk的路径
    18         File clasPathRoot = new File(System.getProperty("user.dir"));
    19         File appDir = new File(clasPathRoot,"apps");
    20         File app = new File(appDir,"modeng.apk");
    21          //设置自动化相关参数
    22         DesiredCapabilities capabilities = new DesiredCapabilities();
    23         capabilities.setCapability("deviceName", "Android Emulator");
    24         capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
    25         //设置安卓系统版本和平台
    26         capabilities.setCapability("platformVersion", "4.4");
    27         capabilities.setCapability("platformName", "Android");
    28          //设置apk路径
    29         capabilities.setCapability("app", app.getAbsolutePath());
    30         //设置app的主包名和主类名
    31         capabilities.setCapability("appPackage", "cn.com.pclady.modern");
    32         capabilities.setCapability("appActivity", "cn.com.pclady.modern.module.launcher.SplashActivity");
    33         
    34         //初始化
    35         try {
    36             driver =new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
    37             Thread.sleep(10000);
    38             //driver.findElement(By.id("com.android.packageinstaller:id/ok_button")).click();
    39             Thread.sleep(10000);
    40             driver.quit();
    41         } catch (MalformedURLException e) {
    42             e.printStackTrace();
    43         } catch (InterruptedException e) {
    44             e.printStackTrace();
    45         } 
    46     }
    47     
    48     
    49     
    50 }

    这里要注意,如果find方法找元素无法找到,会报错,junit会报错

    5、运行的时候,必是运行junit程序,

    记得一定要关appium不然,再运行,会报无法创建新的session

    如果成功:

    然后完成后,再进入Console控制台打印我的日志输出。

    OK了,一个简单的demo就可以了,但是如果要想用好appium,那它的api必须得熟悉如何调用才可以。再继续研究吧

  • 相关阅读:
    (转)Android Studio解决unspecified on project app resolves to an APK archive which is not supported
    OpenGL 学习总结
    关于tap设备
    写把proto函数搞清楚
    qemu中是怎么模拟的新的设备
    kvm搭建完成了,那么问题来了,到底是什么原理
    kvm竟然抓不到kvm的tracepoint
    安装KVM
    试着理解下kvm
    网络namespace
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/5919405.html
Copyright © 2011-2022 走看看