大家好,我是appium的新手,我已经使用eclipse运行了我的第一个测试用例(使用TestNG的Java),但现在我想切换到Android Studio。请提供我一步一步的过程,以添加jar的和其他东西到Android Studio
发布于 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
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 :)
发布于 2018-08-08 14:56:00
我做了所有的步骤,但是我重建没有成功,然后我得到了一个解决方案:在你的应用程序模块的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,它不能工作!!
https://stackoverflow.com/questions/39244013
复制相似问题