【发布时间】:2016-11-14 11:46:49
【问题描述】:
我必须自动化一个应用程序。在某些部分用户可以浏览 Dropbox、gdrive 但必须先登录。登录屏幕在浏览器中打开。在这里,我需要访问可以通过 webview 完成的浏览器元素。问题:
我无法从本机上下文切换到 Webview。使用命令 print driver.contexts 仅打印 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 上下文:
#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.mysample.sample.HomeActivity'
desired_caps['appPackage'] = 'com.mysample.sample'
driver = webdriver.Remote('http://localhost:4723/wd/hub',
print driver.contexts
由于公司规定,不得不替换 appname 和 package 名称
我知道切换的实际命令是 driver.switch_to.context('Webview') 但是当一开始没有可用的网络视图时,我无法切换。
【问题讨论】:
标签: android python webview appium