首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何配置Appium和Android Studio?

如何配置Appium和Android Studio?
EN

Stack Overflow用户
提问于 2016-08-31 16:05:55
回答 2查看 2.6K关注 0票数 2

大家好,我是appium的新手,我已经使用eclipse运行了我的第一个测试用例(使用TestNG的Java),但现在我想切换到Android Studio。请提供我一步一步的过程,以添加jar的和其他东西到Android Studio

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-31 18:25:47

我推荐你使用IntelliJ IDEA。您可以使用gradle创建项目,在其中您可以插入依赖项,但您可以轻松地包含.jars by file ->项目结构->库-> (+) -> Java,然后选择您的.jar文件。

IntelliJ IDEA已经安装了testNG,所以你不需要安装它。

测试所需的全部内容是gson-2.2.2、java-client-4.0.0、selenium-java-2.53.1jar。

要与设备连接,请使用class

代码语言:javascript
复制
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创建新类,您可以在其中创建Setup类的对象,调用establishConnection();并初始化驱动程序,并使用@Test方法测试您的应用程序UI。不要忘记首先在您的设备上安装.apk :)

票数 2
EN

Stack Overflow用户

发布于 2018-08-08 14:56:00

我做了所有的步骤,但是我重建没有成功,然后我得到了一个解决方案:在你的应用程序模块的build.gradle中使用android {...}闭包来解决这个问题:

代码语言:javascript
复制
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,它不能工作!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39244013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档