Appium Python如何启动混合应用然后切换到webvi

2024-05-03 05:06:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须自动化一个应用程序。在某些部分用户可以浏览dropbox,gdrive,但必须先登录。登录屏幕将在浏览器中打开。这里我需要访问浏览器元素,这可以通过webview完成。问题是:

我不能从本地上下文切换到Webview。带命令打印驱动程序上下文只打印u'Native_APP'。所以我尝试了不同的东西来改变功能,我看到了Native和Webview的不同大写字母。在

但是我如何运行原生应用程序并在以后切换到webview呢?我错过什么了吗?下面你可以看到我的帽子。在

本机和Web上下文可用,但无法启动我的应用程序。。公司名称:

 #set up appium
desired_caps                        = dict()
desired_caps['platformName']        = 'Android'
desired_caps['deviceName']          = 'Android Device'
desired_caps['app']                 = PATH(ARTIFACTS_PATH + 'sample.apk')
desired_caps['appActivity']         = 'com.google.android.apps.chrome.ChromeTabbedActivity'
desired_caps['appPackage']          = 'com.android.chrome'
desired_caps['browser']             = 'Chrome'



driver                              = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

print driver.contexts

可以启动我的应用,但没有可用的webview上下文:

^{pr2}$

由于公司规定,必须替换appname和package name

我知道实际的命令是driver.切换到.context('Webview') 但是我不能在没有webview的时候切换。在


Tags: path命令com应用程序driver浏览器公司caps
2条回答

提供一些睡眠或隐式等待,以便加载所有上下文,查看应用程序是否正在打印Webview,如果没有,则询问开发人员是否使用crosswalk。如果他们正在使用人行横道(https://github.com/appium/appium/issues/4597已知问题),那么这可能会帮助您https://github.com/ITKarel/ChromeDriver

开发人员需要将Webview调试设置为true,以便在web视图中执行操作

相关问题 更多 >