如何配置Appium和Android Studio?

时间:2016-08-31 08:05:55

标签: android-studio appium

你是appium的新手,我使用eclipse运行了我的第一个测试用例(带有TestNG的Java),但现在我想切换到Android Studio。请逐步向我提供将jar和其他内容添加到Android Studio

的过程

4 个答案:

答案 0 :(得分:2)

我建议您使用IntelliJ IDEA。您可以使用gradle创建项目,您可以在其中插入依赖项,但您可以通过File - >轻松地包含.jars。项目结构 - >图书馆 - > (+) - > Java然后选择.jar文件。

IntelliJ IDEA已安装testNG,因此您无需安装它。

测试所需的全部是gson-2.2.2,java-client-4.0.0,selenium-java-2.53.1 jars。

连接您的设备使用类

public class Setup {
    private final String DEVICE_NAME = "deviceName";
    private final String PLATFORM_NAME = "platformName";
    private final String PLATFORM_VERSION = "platformVersion";
    private final String APP_PACKAGE = "appPackage";
    private final String APP_ACTIVITY = "appActivity";

    private String deviceName = "Android SDK built for x86"; //device name can be found in device settings
    private String platformName = "Android"; 
    private String platformVersion = "6.0"; //version of your android
    private String port = "4723"; //port from Appium server
    private String url; 

    private String getIp() throws UnknownHostException {
        InetAddress ip = InetAddress.getLocalHost();
        return ip.getHostAddress();
    }

    public AndroidDriver establishConnection() throws MalformedURLException {
        try {
            url = String.format("http://%s:%s/wd/hub", getIp(), port);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
        DesiredCapabilities capability = new DesiredCapabilities();
        capability.setCapability(DEVICE_NAME, deviceName);
        capability.setCapability(PLATFORM_NAME, platformName);
        capability.setCapability(PLATFORM_VERSION, platformVersion);

        capability.setCapability(APP_PACKAGE, "my.app.package");
        capability.setCapability(APP_ACTIVITY, "my.app.activity");

        return new AndroidDriver(new URL(url), capability);
    }
}

在此之后,您可以使用@BeforeClass创建新类,您可以在其中创建安装程序类的对象,调用establishConnection();并初始化驱动程序并使用@Test方法测试您的应用程序UI。不要忘记先在设备上安装.apk:)

答案 1 :(得分:1)

您需要在Android Studio中安装Appium -

  1. Appium服务器

  2. Appium Java客户端jar

  3. Selenium客户端罐子

  4. 您可以观看此视频Step By Step Appium Setup with Android Studio

    此致

    Anuja

答案 2 :(得分:1)

Android Studio 3.1.2,Min SDK 21.如果Min SDK较低,您可以尝试使用较低版本的appium java-client。

  1. 在gradle build file dependencies部分中通过gradle添加Java客户端Jar。确保 您选择的客户端版本可用于您的最小/目标Android SDK。

    dependencies {
       testImplementation 'io.appium:java-client:4.1.2'
    }
    
  2. 您的android项目有一个源文件的java文件夹。在括号中搜索包含单词(test)的文件夹。在那里创建一个java文件。如果将它放在(androidTest)文件夹中,则会遇到各种问题。

  3. 将您的单元测试代码添加到该文件中。就我而言,我使用的是JUnit。

  4. 通过首选方式安装appium服务器。您可以通过https://github.com/appium/appium-desktop/releases/找到安装可执行文件,或者您可以使用nodejs及其软件包管理器。

  5. 配置appium服务器的设置以匹配您的单元测试(即端口应匹配)。

  6. 启动appium服务器。

  7. 右键点击您的测试,然后点击“运行' XXXXX'其中XXXXX是您班级的名称。

  8. 选择所需的模拟器/物理设备。

  9. 没有必要像我在一些教程中看到的那样手动下载jar并添加它们。如果您按照上述步骤操作,那么您将拥有所需的一切。

答案 3 :(得分:0)

我完成了所有步骤,但是重建没有成功,然后我将其作为解决方案:   您的应用模块的build.gradle中的android {...}闭包可以解决此问题:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/ASL2.0'
}

,所有错误均已解决。我的Java版本是10,但没有用!!