我必须自动化一个应用程序。在某些部分用户可以浏览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的时候切换。在
提供一些睡眠或隐式等待,以便加载所有上下文,查看应用程序是否正在打印Webview,如果没有,则询问开发人员是否使用crosswalk。如果他们正在使用人行横道(https://github.com/appium/appium/issues/4597已知问题),那么这可能会帮助您https://github.com/ITKarel/ChromeDriver
开发人员需要将Webview调试设置为true,以便在web视图中执行操作
相关问题 更多 >
编程相关推荐