前兩天,zhangmumu 同學開發了博客園 Android 版APP:
http://www.cnblogs.com/zhangmumu/p/8146725.html
比官方的好用,官方的APP首頁打開很慢。我剛好在用 appium,順便對該APP寫了個簡單的自動化測試,供測試同學學習。
### 下載與安裝
下載App 並安裝到手機。
https://files.cnblogs.com/files/zhangmumu/cnblogs.apk
### 獲取appPackage和appActivity
參考appium測試之獲取appPackage和appActivity
最終,得到的APP信息如下:
- appPackage:com.cnblogs.xamarinandroid
- appActivity:md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity
### 定位控件 參考,[Appium-desktop安裝與使用](http://www.cnblogs.com/fnng/category/695788.html)
### 編寫測試腳本
通過 python + appium + unittest 編寫appium自動化測試。
from appium import webdriver
from time import sleep
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.common.keys import Keys
import unittest
class SearchTest(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['automationName'] = 'Appium'
desired_caps['deviceName'] = 'PRO_5'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7.0'
desired_caps['noReset'] = True
desired_caps["appPackage"] = "com.cnblogs.xamarinandroid"
desired_caps["appActivity"] = "md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity"
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
sleep(5)
def test_case(self):
driver = self.driver
# 點擊搜索按鈕
driver.find_element_by_accessibility_id("搜索").click()
# 搜索框
search_src_text = driver.find_element_by_id("com.cnblogs.xamarinandroid:id/search_src_text")
search_src_text.click()
# 輸入搜索關鍵字“appium”
driver.keyevent(29) # a
driver.keyevent(44) # p
driver.keyevent(44) # p
driver.keyevent(37) # i
driver.keyevent(49) # u
driver.keyevent(41) # m
sleep(1)
# 回車搜索
driver.keyevent(66)
driver.keyevent(66)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
操作步驟:打開 APP ,點擊搜索按鈕,搜索“appium”關鍵字。
效果如下:

最后,再次感謝 zhangmumu 開發的博客完APP。