前提:appium自动化时,想定位某个页面的元素,不用重启app,只需手动打开要测试的页面,直接测试某个元素是否可操作即可,主要是要加上
1.desiredCapabilities.setCapability(“autoLaunch”, false)
2.或者配置不重启app的情况下,在当前页面进行操作。可用配合手动进行绕过一些验证。
caps[‘dontStopAppOnReset’] = True
caps[‘noReset’] = True # 这两个需组合使用
参考:https://www.cnblogs.com/zouzou-busy/p/11299956.html
public class Test {
public static AndroidDriver driver;
public static Logger log = Logger.getLogger(Test.class);
public static void main(String[] args) {
//(1)、初始化配置对象保存我们的配置
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
//(2)、保存deviceName配置–我们要测试的设备
desiredCapabilities.setCapability(“deviceName”, “a5c7da05”);
//(3)、保存platformName配置–我们要测试的平台Android or IOS
desiredCapabilities.setCapability(“platformName”, “Android”);
//(4)、保存appPackage配置–我们要测试的App是哪一个
desiredCapabilities.setCapability(“appPackage”, “cn.com.spdb.mobilebank.per”);
//(5)、保存appActivity配置–我们App的启动入口
desiredCapabilities.setCapability(“appActivity”, “cn.com.spdb.mobilebank.per.activity.SplashActivity”);
//不要在会话前重置应用状态。默认值false。
desiredCapabilities.setCapability(“noReset”, true);
// 不重新签名apk
desiredCapabilities.setCapability(“noSign”, true);
//Appium是否需要自动安装和启动应用。默认值true
desiredCapabilities.setCapability(“autoLaunch”, false);
// 每次启动时覆盖Session,否则第二次后运行会报错不能新建Session
desiredCapabilities.setCapability(“sessionOverride”, true);
// 超时时间 设置命令超时时间,单位:秒。
desiredCapabilities.setCapability(“newCommandTimeout”, “6000”);
try {
driver = new AndroidDriver(new URL(“http://127.0.0.1:4723/wd/hub”), desiredCapabilities);
log.info(“配置为【” + driver.getCapabilities() + “】”);
// 设置隐式等待,全局等待
driver.manage().timeouts().implicitlyWait(5000, TimeUnit.MILLISECONDS);
} catch (Exception e) {
e.printStackTrace();
}
//例如
driver.findElement(By.xpath("//android.widget.Button[@text=‘理财产品’]")).click();;
driver.findElement(By.id(“cn.com.spdb.mobilebank.per:id/radio_button2”)).click();
driver.findElement(By.xpath("//android.widget.Button[@text=‘理财产品’]/following-sibling::android.widget.Button"));
driver.findElement(By.xpath("//*[@text='理财产品']/preceding::*[1]"));
driver.findElement(By.xpath("//*[@text='理财产品']/following::*[1]"));
}
}