Appium自動化測試之IOS WebView和Safari


前言

不管是iOS平台的web view還是safari瀏覽器都需要安裝及設置以下三點:

1、brew install --HEAD libimobiledevice

2、brew install ios-webkit-debug-proxy

3、settings(設置) > safari(瀏覽器) > advanced(高級) > web inspector(網頁檢查器) -> on(打開)

 

iOS WebView

 1 import time
 2 from appium import webdriver
 3 
 4 class Test_Demo():
 5     def setup(self):
 6         caps = {}
 7         caps["deviceName"] = "iPhone 11 Pro Max"
 8         caps["platformVersion"] = "13.5"
 9         caps["platformName"] = "ios"
10         caps["automationName"] = "xcuitest"
11         # caps["noReset"] = True
12         caps["app"] = "/Users/aaron/Desktop/UICatalog.app.zip"
13         caps["startIWDP"] = True
14 
15         self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
16         self.driver.implicitly_wait(20)
17 
18     def test_click(self):
19         self.driver.find_element_by_accessibility_id("Web View").click()
20         #每隔一秒打印一下上下文
21         for i in range(3):
22             print(self.driver.contexts)
23             time.sleep(1)
24         #切換webview里
25         self.driver.switch_to.content(self.driver.contexts[1])
26         #打印網頁源文件
27         print(self.driver.page_source)
28         #保存圖片到本地
29         self.driver.save_screenshot("main.png")
30         #點擊bug按鈕
31         self.driver.find_element_by_link_text("Buy").click()
32         time.sleep(10)
33         self.driver.save_screenshot("buy.png")
34 
35     def teardown(self):
36         time.sleep(20)
37         self.driver.quit()

如上我是在模擬器中運行的代碼。

 

iOS Safari

 1 from appium import webdriver
 2 from selenium.webdriver.common.by import By
 3 from selenium.webdriver.support import expected_conditions
 4 from selenium.webdriver.support.wait import WebDriverWait
 5 import time
 6 
 7 class TestView():
 8     def setup(self):
 9         caps = {}
10         caps["deviceName"] = "iPhone 11 Pro Max"
11         caps["platformVersion"] = "13.5"
12         caps["platformName"] = "ios"
13         caps["automationName"] = "xcuitest"
14         caps["browserName"] = "Safari"
15         # 如果是真機需要加上如下四項
16         # caps["startIWDP"] = True
17         # caps["xcodeOrgId"] = "8278HWK4WG"
18         # caps["xcodeSigningId"] = "iPhone Developer"
19         # caps["udid"] = "2721277896a12c5170b349ef1a0c350c305d85ce"
20 
21         self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
22 
23     def test_webview(self):
24         url = "http://www.baidu.com"
25         self.driver.get(url=url)
26         WebDriverWait(self.driver,15).until(expected_conditions.visibility_of_element_located((By.NAME,"word")))
27         self.driver.find_element_by_name("word").send_keys("appium")
28 
29     def teardown(self):
30         time.sleep(20)
31         self.driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM