基于上一篇文章,使用 python 實現(xiàn) iOS 模擬器自動化測試海雪。
下載 PyCharm 編譯器锦爵。
網(wǎng)上有很多的 PyCharm 安裝教程,這里就不記錄了奥裸。
安裝完成之后, 創(chuàng)建一個新的項目险掀,
命名為 Appium 并創(chuàng)建。
進入主界面后到 preferences 設置參數(shù)湾宙、添加依賴庫樟氢。
- 點擊 Python Integrated Tools ---> Testing ---> Default test runner ---> 選擇 pytest, 如下圖:
-
設置 project interpreter python 版本, 如下:
-
在下面加號添加依賴庫:
添加依賴庫
安裝成功,會有 installed successfully 提示侠鳄。
關閉 preferences 埠啃,回到主界面,創(chuàng)建一個py文件伟恶。
寫一個簡單Demo
import time
from appium import webdriver
desired_caps = {
"platformName": "iOS",
"platformVersion": "10.0",
"deviceName": "iPhone 6",
"newCommandTimeout": "120",
"bundleId": "BB.AppiumDemo",
"noReset": True
}
def test():
# 獲取設備
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
# 獲取輸入框
tf = driver.find_element_by_xpath("http://XCUIElementTypeApplication[@name='AppiumDemo']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeTextField")
# 給輸入框設置文本
tf.send_keys("馬上點擊button")
# 清除輸入框文本
tf.clear()
tf.send_keys("3秒后關閉alert")
# 點擊名為 Button 的按鈕
driver.find_element_by_accessibility_id("Button").click()
# 設置睡眠時間
time.sleep(3)
driver.find_element_by_accessibility_id("確定").click()
tf.clear()
tf.send_keys("5秒后退出自動化測試")
time.sleep(5)
# 退出自動化測試
driver.quit()
if __name__=='__main__':
test()
運行代碼之前先開啟 Appium Desktop 程序碴开,不然編譯報錯.
運行py文件。
成功編譯后博秫,會喚起模擬器包名為 "BB.AppiumDemo" 的程序叹螟,在這過程中會先安裝一個叫做 WebDriver.. 驅動鹃骂,它會閃幾下(啟動與閃退)台盯,這是正嘲照溃現(xiàn)象,不用擔心静盅。
下篇我將總結 iOS 真機自動化測試與環(huán)境搭建良价。