WebView切換
1、目前app基本都是混合型的,有原生的native_app,也有webview,使用appium測試的時候,遇到webview的時候需要切換上下文,切換后就可以使用css等方式定位
2、如何獲取app的上下文
- self.driver.context 獲取當前窗口的context,
- self.driver.contexts,獲取當前窗口的context,返回的是list
3、切換webview:
- self.driver.switch_to.context("xxx")切換到對應的webview
4、如何判斷是否是webview:
- 使用uiaumator的時候class:會包含webview/view,如android.webkit.WebView
- 使用self.driver.context/self.driver.contexts獲取到的context包含如:WEBVIEW_com.xxx等就是
5、如何從webview切換到原生app:
-
self.driver.switch_to.context("NATIVE_APP")
6、代碼:
1 def get_webview(self,webname): 2 webviews=self.driver.contexts 3 for web in webviews: 4 if webname in web: 5 return webname 6 def swich_webview(self): 7 self.driver.switch_to.context(self.get_webview("xxxx")) 8 #切換后可以使用css方式定位 9 self.driver.find_element_by_css_selector()