Appium有时无法启动应用程序

Appium有时无法启动应用程序,appium,Appium,如果我在一段时间内执行appium脚本,比如说半小时,在执行过程中我调用了driver.closeApp();&driver.launchApp() 有时driver.launchApp()无法启动应用程序:错误:尝试启动logcat捕获,但已启动!(警告:服务器未提供任何堆栈跟踪信息) 暂时我用try-catch块处理这个问题,就像 try{ -- openApp; }catch(Exception e){ -- openApp; } 是否有更好的方法来确保应用程序已启动并运

如果我在一段时间内执行appium脚本,比如说半小时,在执行过程中我调用了
driver.closeApp();&driver.launchApp()
有时
driver.launchApp()无法启动应用程序:错误:尝试启动logcat捕获,但已启动!(警告:服务器未提供任何堆栈跟踪信息)

暂时我用try-catch块处理这个问题,就像

try{
    -- openApp;
}catch(Exception e){
    -- openApp;
}

是否有更好的方法来确保应用程序已启动并运行?

使用的appium/java客户端版本?是的,只需使用应用程序的任何定位器并验证此元素是否存在,不要打开应用程序,否则启动应用程序();只是想知道为什么要使用driver.closeApp()然后使用driver.openApp()。我可以理解为什么在这些操作之间你必须做些什么,但是driver.resetApp()对你更有用吗?新的测试用例应该以openapp开始,以close app结束。。所以,如果某个测试用例失败或应用程序崩溃,下一个测试用例将打开应用程序的新副本。。这就是为什么在每个测试用例结束时使用closeapp,在开始一个新的测试用例之前使用openapp。我以前遇到过这种情况。logcat、appium服务器、uiaoutomator都使用相同的会话id,在logcat或uiautomator中,会话id有时会过时。如果您关闭ui automator并运行脚本,它将在使用的appium/java客户端版本中正常工作?是的,只需使用应用程序的任何定位器并验证此元素是否存在,否则不要打开应用程序launchApp();只是想知道为什么要使用driver.closeApp()然后使用driver.openApp()。我可以理解为什么在这些操作之间你必须做些什么,但是driver.resetApp()对你更有用吗?新的测试用例应该以openapp开始,以close app结束。。所以,如果某个测试用例失败或应用程序崩溃,下一个测试用例将打开应用程序的新副本。。这就是为什么在每个测试用例结束时使用closeapp,在开始一个新的测试用例之前使用openapp。我以前遇到过这种情况。logcat、appium服务器、uiaoutomator都使用相同的会话id,在logcat或uiautomator中,会话id有时会过时。如果您关闭ui自动机并运行脚本,它就可以正常工作