【轉】NO.2、Appium之IOS第一個demo

阿里瓜瓜發表於2017-08-29

接第一篇: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"登入"))

 

相關文章