Python Unitest 使用 selenium 测试Web

Python Unitest 使用 selenium 测试Web


DATE: 2017-12-30 17:13:12

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: 执行效果如下:

这里写图片描述

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!