接第一篇:Appium之iOS環境搭建
http://blog.csdn.net/clean_water/article/details/52946191
這個例項繼承了unittest,重寫了它的setUp()、tearDown()
共四個方法,包含兩個用例方法:
1.setUp():重寫的unittest方法,每一條用例執行最初被呼叫,一般這裡會寫獲得driver的方法,供用例使用。這裡寫了獲得appium的driver的方法。
2.tearDown():重寫的unittest方法,每一條用例執行最後被呼叫,一般這裡寫driver銷燬的方法。這裡寫了pass,代表什麼都不做,很多時候用例順序執行,tearDown確實不需要做什麼。
3.test_case1_1:第一個用例,實現登入功能。注意--注意--注意:它最初會呼叫setUp、最後會呼叫tearDown,這是unittest的潛規則。
4.test_case1_2:第二個用例,實現退出功能。注意--注意--注意:它最初會呼叫setUp、最後會呼叫tearDown,這是unittest的潛規則。
注意:用例執行順序根據名稱排序,此處先執行test_case1_1,再執行test_case1_2,每個用例執行最初會呼叫setUp(),執行最後會呼叫tearDown(),這是unittest的潛規則。
例項程式碼:
===================================================
# -*- coding: UTF-8 -*-
import unittest
from appium import webdriver
class LoginIOSTests(unittest.TestCase):
# 重寫unittest的setUp方法,連線appium,包含了裝置引數
def setUp(self):
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'deviceName': '',
'platformName': 'iOS',
'app': 'com.cmcc.hbb.iphone.teachers.test'
})
# 重寫unittest的tearDown,裡邊什麼都不做
def tearDown(self):
pass
def test_case1_1(self):
# 輸入使用者名稱
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIATextField[1]").clear()
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIATextField[1]").send_keys("17799999999")
# 輸入密碼
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]").clear()
self.find_element('XPATH',"//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]").send_keys("999999")
# 點選登陸
self.find_element('NAME',u"登入").click()
# 如果能找到這個元素,則登陸成功
self.assertIsNotNone(self.find_element('NAME', u"班級圈"))
def test_case1_2(self):
# 點選退出
self.find_element('NAME', u"退出").click()
# 如果能找到登陸頁面的'登陸'元素,則退出成功
self.assertIsNotNone(self.find_element('NAME', u"登入"))