Appium解決native+webview混合型APP(公衆號、小程序)切換webview後元素沒法定位問題

 

問題:最近在作一個安卓+H5混合開發的APP自動化測試,發如今從native切換到webview後,元素仍然沒法找到,報錯:no such elementweb

 

思路:因而思考webview會不會像web頁面同樣存在多個handles呢?用window_handles去取全部的handle,發現果真不止一個。接下來就要肯定所要操做的元素具體在哪個handle,使用switch_to_window(handle)切換,若是能夠找到咱們須要的元素,說明元素在這個handle,就能夠繼續後面的自動化操做。測試

 

實現spa

all_handles = driver.window_handles
        for handle in all_handles:
            try:
                driver.switch_to_window(handle)
                print(handle)
                driver.find_element('xpath', "//div[2]/div/div/div/div[2]/div/button")
          print('元素定位成功') driver.click(
'xpath', "//div[2]/div/div/div/div[2]/div/button") driver.send_keys('125808119', 'xpath', ".//*[@id='phone_login']/div[2]/div/input") driver.send_keys('1001', 'xpath', ".//*[@id='phone_login']/div[3]/div/input") driver.send_keys('111111', 'xpath', ".//*[@id='phone_login']/div[4]/div/input") driver.click('xpath', "//div[6]/div[2]/div/button") sleep(2)
          break except Exception as e: print(e)
相關文章
相關標籤/搜索