Appium自動化測試(3)-用unittest編寫測試用例

appium文檔:http://appium.io/slate/en/master/?python#about-appium
unittest文檔

Unittest介紹

Unittest是python的單元測試框架(java的類似框架是testng),也叫PyUnit枝哄,為自動化測試提供強(qiáng)力支持铅鲤,最主要是以下兩個特性:
1、setUp和tearDown提供了測試用例執(zhí)行前后的準(zhǔn)備工作和清除工作
2崔涂、TestSuite將測試用例組裝起來

使用

1、import unittest
2始衅、定義一個繼承自unittest.TestCase的測試用例類
3冷蚂、定義setUp和tearDown,在每個測試用例前后做一些輔助工作
4汛闸、編寫測試用例蝙茶,名字以test開頭。
一個測試用例應(yīng)該只測試一個方面诸老,測試目的和測試內(nèi)容應(yīng)很明確隆夯。調(diào)用assertEqual、assertRaises等斷言方法判斷結(jié)果和預(yù)期值是否相符吮廉。
5、組裝測試用例集

組裝測試用例集

  1. 方法1:main方法中調(diào)用unittest.main()啟動測試,會自動執(zhí)行本文件中test開頭的用例畸肆。栗子如下
//coding:utf-8
import unittest
import time
from appium import webdriver

class LoginTestCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("------------------setUp Test-----------------------")
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '4.4.4'
        desired_caps['deviceName'] = 'Android Emulator'
        desired_caps['appPackage'] = 'com.xxx.activity'
        desired_caps['appActivity'] = '.AppStartActivity'
        desired_caps['unicodeKeyboard'] = True
        desired_caps['resetKeyboard'] = True
        cls.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    @classmethod
    def tearDownClass(cls):
        cls.driver.close_app()
        cls.driver.quit()
        print("-------------------- Byebye ----------------------- ")
    def setUp(self):
        print("setup")
    def tearDown(self):
        print("teardown")
    def test1_log_in(self):
         xxxxx
    def test2_log_out(self):
         xxxxx
if __name__ == '__name__': #運(yùn)行時(shí)自動執(zhí)行test開頭的用例,執(zhí)行順序按照名字排序
unittest.main()
  1. 方法2:testsuite組裝測試用例【推薦】
    將待測測試用例加入到testSuite里面,調(diào)用unittest時(shí)會一個個執(zhí)行轴脐。(可集合不同py文件中的testcase,也可加入不以test開頭的testcase)
def suite():
     suite = unittest.TestSuite
     suite.addTest(LoginTestCase("test_log_in"))
     suite.addTest(LoginTestCase("test_log_out"))
     return suite
if __name__ == '__main__':
unittest.main(defaultTest = 'suite')

補(bǔ)充

  • 截屏并保存driver.save_screenshot("path.png")
  • 亂碼&輸入中文報(bào)錯 #coding=utf-8大咱,中文前面加u("中文")
  • 滑動切換:driver.swipe(start=75, starty=500, endx=75, endy=0, duration=800)
    設(shè)置during時(shí)間較長,否則會變成點(diǎn)擊操作
  • 安卓默認(rèn)停留時(shí)間>500ms為長按, self.driver.tap([(586, 355)], 200)
  • 異常處理
try:
      self.driver.find_element_by_id('tv_subtopiccomments_content')
      result = 0
except Exception as e:
      result = 1
self.assertEqual(result,1,'delete topic sub comment failed')//若拋出異常就知道是斷言失敗
  • 命令行直接打開app的一個頁面
import os
cmd = "adb shell am start -n com.xxx.activity/.topicDetailActivity -e id 1111"
os.system(cmd)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溯捆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子厦瓢,更是在濱河造成了極大的恐慌,老刑警劉巖煮仇,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浙垫,居然都是意外死亡郑诺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門辙诞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艺智,你說我怎么就攤上這事圾亏∈穑” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵志鹃,是天一觀的道長夭问。 經(jīng)常有香客問我,道長曹铃,這世上最難降的妖魔是什么缰趋? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮陕见,結(jié)果婚禮上秘血,老公的妹妹穿的比我還像新娘。我一直安慰自己评甜,他們只是感情好灰粮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忍坷,像睡著了一般粘舟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上佩研,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天柑肴,我揣著相機(jī)與錄音,去河邊找鬼旬薯。 笑死晰骑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绊序。 我是一名探鬼主播硕舆,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼政模!你這毒婦竟也來了岗宣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤淋样,失蹤者是張志新(化名)和其女友劉穎耗式,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刊咳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年彪见,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娱挨。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡余指,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跷坝,到底是詐尸還是另有隱情酵镜,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布柴钻,位于F島的核電站淮韭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贴届。R本人自食惡果不足惜靠粪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毫蚓。 院中可真熱鬧占键,春花似錦、人聲如沸元潘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氮帐。三九已至,卻和暖如春上沐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背龄广。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工择同, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敲才。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像剃氧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子朋鞍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容