Selenium2+python自動化52-unittest執行順序

來源:互聯網
上載者:User

標籤:UI   NPU   com   send   end   測試案例   stc   fir   implicit   

前言

很多初學者在使用unittest架構時候,不清楚用例的執行順序到底是怎樣的。對測試類別裡面的類和方法分不清楚,不知道什麼時候執行,什麼時候不執行。

本篇通過最簡單案例詳細講解unittest執行順序。

一、案例分析

1.先定義一個測試類別,裡面寫幾個簡單的case

# coding:utf-8
import unittest
import time
class Test(unittest.TestCase):
    def setUp(self):
        print "start!"

    def tearDown(self):
        time.sleep(1)
        print "end!"

    def test01(self):
        print "執行測試案例01"

    def test03(self):
        print "執行測試案例03"

    def test02(self):
        print "執行測試案例02"

    def addtest(self):
        print "add方法"

if __name__ == "__main__":
    unittest.main()

 

二、執行結果

D:\test\python2\python.exe D:/test/test01.py
start!
執行測試案例01
.end!
start!
執行測試案例02
end!
.start!
執行測試案例03
end!
.
----------------------------------------------------------------------
Ran 3 tests in 3.001s

OK

 

三、結果分析

1.執行順序:

start!-執行測試案例01-end!

start!-執行測試案例02-end!

start!-執行測試案例03-end!

2.從執行結果可以看出幾點

--先執行的前置setUp,然後執行的用例(test*),最後執行的後置tearDown

--測試案例(test*)的執行順序是根據01-02-03執行的,也就是說根據用例名稱來順序執行的

--addtest(self)這個方法沒執行,說明只執行test開頭的用例

 

四、selenium執行個體

1.具體執行個體參考這篇Selenium2+python自動化48-登入方法(參數化)

# coding:utf-8
from selenium import webdriver
import unittest
import time
class Bolg(unittest.TestCase):
    u‘‘‘登入部落格‘‘‘
    def setUp(self):
        self.driver = webdriver.Firefox()
        url = "https://passport.cnblogs.com/user/signin"
        self.driver.get(url)
        self.driver.implicitly_wait(30)

    def login(self, username, psw):
        u‘‘‘這裡寫了一個登入的方法,帳號和密碼參數化‘‘‘
        self.driver.find_element_by_id("input1").send_keys(username)
        self.driver.find_element_by_id("input2").send_keys(psw)
        self.driver.find_element_by_id("signin").click()
        time.sleep(3)

    def is_login_sucess(self):
        u‘‘‘判斷是否擷取到登入賬戶名稱‘‘‘
        try:
            text = self.driver.find_element_by_id("lnk_current_user").text
            print text
            return True
        except:
            return False

    def test_01(self):
        u‘‘‘登入案例參考:帳號,密碼自己設定‘‘‘
        self.login(u"上海-悠悠", u"xxxx")  # 調用登入方法
        # 判斷結果
        result = self.is_login_sucess()
        self.assertTrue(result)

    def test_02(self):
        u‘‘‘登入案例參考:帳號,密碼自己設定‘‘‘
        self.login(u"上海-悠悠", u"xxxx")  # 調用登入方法
        # 判斷結果   # 交流QQ群:232607095
        result = self.is_login_sucess()
        self.assertTrue(result)

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    unittest.main()

Selenium2+python自動化52-unittest執行順序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.