我正在真实设备上执行移动自动化。使用 Appium 2.0,我在启动应用程序时遇到了问题,所以我每次运行它时都使用
launch_app()
方法来硬启动它。但使用最新的 Appium-Python-Client (v3.0.0) launch_app()
方法已被弃用。
如果没有
launch_app()
,我的应用程序很少启动。以下是我的代码供参考。
class MyAPP:
@log
def __init__(self,device_name:str=DEVICE_NAME, environment:str=DEFAULT_ENVIRONMENT)->None:
self.environment = environment
envPackage = '.staging' if environment=="Staging" else ''
desiredCapabilities = {}
desiredCapabilities["appium:deviceName"] = device_name
desiredCapabilities["appium:automationName"] = AUTOMATION_NAME
desiredCapabilities["appium:platformName"] = PLATFORM_NAME
desiredCapabilities["appium:platformVersion"] = ANDROID_VERSION
desiredCapabilities["appium:appPackage"] = f'{APP_PACKAGE}{envPackage}' #APP_PACKAGE
desiredCapabilities["appium:appActivity"] = APP_ACTIVITY
desiredCapabilities["appium:instrumentApp"] = True
desiredCapabilities["appium:ensureWebviewsHavePages"] = True
desiredCapabilities["appium:nativeWebScreenshot"] = True
desiredCapabilities["appium:newCommandTimeout"] = NEW_COMMAND_TIMEOUT
desiredCapabilities["appium:connectHardwareKeyboard"] = True
desiredCapabilities["appium:noReset"] = True
options = UiAutomator2Options()
options.load_capabilities(desiredCapabilities)
# starting session based on set capabilities
self.driver = webdriver.Remote(SERVER_URL, options=options)
# hard launch app
self.driver.launch_app() #### deprecated
我尝试查看文档,但没有得到任何结果。请帮忙。
你可以尝试一下
self.driver.startActivity(".appPackage", ".appActivity")
它将把你的应用程序带到主线程