python-appium,每次运行时都要重启 APP 每次运行命令时 APP 都要重启,这样每次都要跳转到登录页登录之后再进行真正得功能测试,有没有办法可以在已经启动得进程,然后打开 app 就直接进入我打开得页面中
如果你是客户端去进行元素调试那么你可以获取到手机系统的包名和主页名,这样最多只是把 app 后台方便调试
如果你是执行用例想要这样的话那就设置 setupClass 共用一个 driver,想要重启 app 时再 close,start,前提你得保证用例稳定执行,不然全是 err
不能携带登录态吗
啊?我可能和你说的不是一个意思啊,我指得是,我手机上先启动 app,然后再启动 appium 服务来启动 app,我想要它不是重新来一个进程,而是保持我打开得那个进程启动
可以不填写 appPackage 选项,或者将 noreset 改成 true
理解错了,那就是问开发这块谁处理的,开个后门,如果是某个接口判断的,应该是可以尝试使用 charles 抓包然后代理,让服务端认为是你是在线的
noReset 只是可以读取用户使用过数据,不能用统一个进程,不填写 appPackage 选项会报错吧
看你的启动参数有哪些,我之前一直都不会报错,貌似是设置哪个东西就没有问题了,app 启动是自己用 adb 指令起的,你可以看他源码
desiredCapabilities.setCapability(AndroidMobileCapabilityType.PLATFORM_NAME, Platform.ANDROID);
desiredCapabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
desiredCapabilities.setCapability("disableSuppressAccessibilityService", true);
desiredCapabilities.setCapability(AndroidMobileCapabilityType.ADB_EXEC_TIMEOUT, 60000);
desiredCapabilities.setCapability("uiautomator2ServerInstallTimeout", 30000);
desiredCapabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 3600);
desiredCapabilities.setCapability(MobileCapabilityType.NO_RESET, true);
desiredCapabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "");
desiredCapabilities.setCapability(MobileCapabilityType.UDID, udId);
desiredCapabilities.setCapability("skipLogcatCapture", true);
好像是 browserName 为空字符串就可以了,我 java 是没问题,你可以参考下,希望能帮到你