緊急上篇的 appium1-macOS10.12下如何絲滑的使用appium? 我相信環境問題已經解決完畢,雖然下載demo并且體驗了一次完整的自動化流程,但是有太多的疑問在后面等著我們。這里我總結了一下自動化測試代碼一些說明,比如關鍵字及輸出結果等等,這是一條漫漫長路,需要耐心細心。
先來幾篇優秀的文章開開胃:
Python單元測試——深入理解unittest
Unit testing framework
Appium Python API 中文版 By-HZJ
Appium 中文 Appium API 文檔
XPath 教程
1、首先了解一下幾個重要的概念:test fixture , test case , test suite ,  test runner
 
 
下面從代碼進行說明,具體可以看代碼注釋:
import unittestimport osfrom appium import webdriverfrom time import sleepimport timeimport HTMLTestRunner #導入HTMLTestRunner.py進行輸出結果,后文有介紹說明# SimpleIOSTests 繼承自 unittest.TestCase,該類中只包含了 test_scroll 一個測試用例class SimpleIOSTests(unittest.TestCase): # 重寫setUp()方法,設置自動化測試的一些基本參數 def setUp(self): app = os.path.abspath('../../apps/HHH/build/Release-數據庫中產生的數據,然后關閉連接。注意tearDown的過程很重要,要為以后的TestCase留下一個干凈的環境 def tearDown(self): self.driver.quit() # 測試用例,以test開頭 def test_scroll(self): # 找到 accessibility_id 為 "button" 的控件執行 點擊操作 self.driver.find_element_by_accessibility_id('button').click() sleep(1) # 找到 值為 "HHH" 的控件 textF1 = self.driver.find_element_by_name('HHH') 除了看上面推薦的一些鏈接外,也可以在自己電腦中找到一些說明,比如在我自己電腦中/Library/Python/2.7/site-packages/selenium-3.0.2-py2.7.egg/selenium/webdriver/remote/webdriver.py 可以看到一些說明:def find_element_by_tag_name(self, name):     """     Finds an element by tag name.     :Args:      - name: The tag name of the element to find.     :Usage:         driver.find_element_by_tag_name('foo')     """     return self.find_element(by=By.TAG_NAME, value=name) def find_elements_by_tag_name(self, name):     """     Finds elements by tag name.     :Args:      - name: The tag name the use when finding elements.     :Usage:         driver.find_elements_by_tag_name('foo')     """     return self.find_elements(by=By.TAG_NAME, value=name) def find_element_by_class_name(self, name):     """     Finds an element by class name.     :Args:      - name: The class name of the element to find.     :Usage:         driver.find_element_by_class_name('foo')     """     return self.find_element(by=By.CLASS_NAME, value=name)2、輸出測試結果:
先安裝HTMLTestRunner,可以去 官網下載 (不要直接復制代碼然后拷貝生成 HTMLTestRunner.py , 會有格式問題,可以選擇 文件-存儲為 下載到本地),當然也可以直接從  erduoniba/appium_ios_sample_code 下載獲得。 然后將  HTMLTestRunner.py 拷貝到 /Library/Python/2.7/site-packages/ 下即可。
將 if __name__ == '__main__': 改成如下代碼,再次執行 自動化測試
成功之后會在 /Users/denglibing/Desktop/ 生成對應的 appiumresult.html ,打開得到測試結果:
 
 
一些使用過程的小細節:
1: 如果app已經安裝了,在不想安裝app的情況下, 可通過dos窗口,通過啟動appium帶上 --no-reset 即可避免執行用例的時候再次安裝app2: appium默認啟動一個應用的session過期時間是60秒到時間會自動停了剛啟動的應用appium --command-timeout 600 時間變成600秒了新聞熱點
疑難解答