UI自动化-APP原生切换webview
在当今互联网形式中,app内多为组合形式展示,内部嵌套webview页面,那么在做自动化时,就需要进行切换到webview中,
才可进行后续的操作。
此处就需要用到appium中的contexts, 及 driver.contexts,
context=self.driver.contexts
print(self.driver.contexts)
打印driver.contexts 时,会打印出当前页面的环境,成一个列表形式展示
例如:['NATIVE_APP', 'WEBVIEW_com.XXX.ancho']
NATIVE_APP:则代表为 APP原生环境
WEBVIEW_com.XXX.ancho:代表 webview环境
如果需要切换到webview页面时,则需要进行切换context
def webview(self):
# 切换到webview页面
context=self.driver.contexts
webview=context[1]
self.driver.switch_to.context(webview)
因为在输入环境时,返回的列表中,原生的在列表内的第一个位置,webview在第二个位置。进行取值时使用列表的[1]就可以取到
driver.switch_to.context 则是进行环境切换,运行后则会相应切换到环境中,切换到webview页面后,如想进行元素操作,
可进入web调试器中进行元素获取进行定位。