Python Unitest 使用 selenium 測試Web

弈心逐夢發表於2017-12-30

Unitest 用於用例管理,selenium用於實現測試Web的具體操作。

即,Unitest分配任務,selenium執行任務。

Code: 入口main和unittest用例程式碼

main.py

import unittest  
import WebBase

#URL='http://www.yixzm.cn/'
URL='http://localhost/'
HOME='home/'
BLOG='blog/'
DOWNLOAD='download/'
ABOUT='about/'
ME='me/'

class WebPageCase(unittest.TestCase):  

    ##初始化工作  
    def setUp(self):  
        self.web = WebBase.WebBase()   ##例項化了被測試模組中的類  

    #退出清理工作  
    def tearDown(self):
        pass

    #具體的測試用例,一定要以test開頭         
    def testURL_home(self):
        url = URL+HOME
        self.assertEqual(self.web.getTitle(url), 'void* Future')

    def testURL_blog(self):
        url = URL+BLOG
        self.assertEqual(self.web.getTitle(url), 'blog')

    def testURL_download(self):
        url = URL+DOWNLOAD
        self.assertEqual(self.web.getTitle(url), 'download')

    def testURL_about(self):
        url = URL+ABOUT
        self.assertEqual(self.web.getTitle(url), 'about')

    def testURL_me(self):
        url = URL+ME
        self.assertEqual(self.web.getTitle(url), 'me')

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

Code: Selenium後臺實現(獲取title及當前url)

WebBase.py

from selenium import webdriver

class WebBase:  
    def __init__(self):  
        pass  

    def getTitle(self, url): 
        page = webdriver.Chrome()    
        page.get(url)  
        return page.title

    def getURL(self, url):
        page = webdriver.Chrome()   
        page.get(url)
        return page.current_url

Output: 執行效果如下:

這裡寫圖片描述

相關文章