原生App和混合App的Desired Capabilities
package org.davieyang.testscripts;
import java.io.File;
import java.net.URL;
import java.net.MalformedURLException;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeMethod;
public class DesiredCapDemo {
AndroidDriver<AndroidElement> driver;
@BeforeMethod
public void setUp() throws MalformedURLException{
// 原生App和混合App的Desired Capabilities
DesiredCapabilities cap = new DesiredCapabilities();
// 待测手机操作系统(Android, IOS)
cap.setCapability("platformName", "Android");
// 手机操作系统版本
cap.setCapability("platformVersion", "4.3");
// 待使用的自动化测试引擎默认Appium或Selendroid
cap.setCapability("automationName", "appium");
// 使用的手机类型或模拟器类型,真机时输入手机型号即可
cap.setCapability("deviceName", "Remi 3");
// 链接的物理设备的唯一设备标识符
cap.setCapability("udid", "00a10399");
// 设置收到命令的超时时间,如果超时Appium会自动关闭Session,默认60秒
cap.setCapability("newCommandTimeout", "300");
// 支持中文输入,默认为False,会自动安装unicode输入法
cap.setCapability("unicodeKeyboard", "True");
// 执行Unicode相关测试后往往需要恢复keyboard到原始状态
cap.setCapability("resetKeyboard", "True");
// 未安装应用时候,需要设定App的路径,使用如下组合,如果已经安装了App则直接从手机启动
File appDir = new File("F:\\");
File app = new File(appDir, "selendroid-test-app-0.17.0.apk");
cap.setCapability("app","app.getAbsolutePath()");
// 待运行的安卓应用的包名
cap.setCapability("appPackage", "io.selendroid.testapp");
// 待启动Android应用对应的Activity名称,如MainActivity和.Settings
cap.setCapability("appActivity", ".HomeScreenActivity");
// 待启动的Android Activity名称,如SplashActivity
cap.setCapability("appWaitActivity", ".HomeScreenActivity");
// 初始化Android Driver
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
}
}
Web App Capabilities配置
package org.davieyang.testscripts;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.AutomationName;
import io.appium.java_client.android.AndroidElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeMethod;
public class DesiredCapDemo2 {
AndroidDriver<AndroidElement> driver;
@BeforeMethod
public void setUp() throws MalformedURLException {
// 原生App和混合App的Desired Capabilities
DesiredCapabilities cap = new DesiredCapabilities();
// 待测手机名为Redmi 3
cap.setCapability("devicName", "Redmi 3");
// 选择appium作为自动化测试引擎
cap.setCapability("automationName", AutomationName.APPIUM);
// 待测移动设备的操作系统
cap.setCapability("platformName", "Android");
// 待测移动设备Android版本
cap.setCapability("platformVersion", "5.1.1");
// 待测浏览器为Chrome浏览器
cap.setCapability("browser", "Chrome");
// 初始化Android Driver
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
}
}