Selenium 测试用例组织

当测试用例量多起来后,随后我们根据每天的测试结果,可能会有很多的测试报告。找到一个办法来合理管理case和测试报告就显得很重要,能提工作试效率。根据我的经验,我们可以把用例用一个文件夹装起来,测试报告也单独放在一个文件夹里。外层用一个run程序来运行和测试和发送测试报告。


下面的例子里用到Python3版本的Html Test report. git 链接Here.


文件结构如下:

project folder:

-----|run.py

-----|Test_case

----------|test_case_1

----------|test_case_2

.


-----|Test_report

----------|test_report_1

----------|test_report_1

.


举例如下:

run.py

import time,unittest
from HTMLTestRunner_PY3 import HTMLTestRunner

test_dir='./Test_case'
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__=="__main__":
    report_dir='./test_report'
    now=time.strftime("%Y-%m-%d %H-%M-%S")
    report_name=report_dir+'/'+now+'result.html'

    with open(report_name,'wb')as f:
        runner=HTMLTestRunner(stream=f,title="Test Report",description="test baidu")
        runner.run(discover)
    f.close()

test_baidu.py

import unittest
from selenium import webdriver
from time import sleep

class TestBaidu(unittest.TestCase):
    def setUp(self):
        self.driver=webdriver.Firefox()
        self.driver.implicitly_wait(10)
        self.driver.get("http://www.baidu.com")

    def test_baidu(self):
        driver=self.driver
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys("Selenium 自学网")
        driver.find_element_by_id("su").click()
        sleep(3)

        title=driver.title
        self.assertEqual(title,"Selenium 自学网_百度搜索")

        def tearDown(self):
            self.driver.quit()
if __name__=="__main__":
    unittest.main()


test_register.py
#coding=utf-8
from selenium import webdriver

#加载unittest模块
import unittest
import time


class BaiduYun(unittest.TestCase):
    def setUp(self):
        self.browser=webdriver.Firefox()
        self.browser.implicitly_wait(30)
        self.base_url="http://yun.baidu.com"
        self.verficationErrors=[]
        self.accept_next_alert=True

    def test_Register(self):
        browser=self.browser
        browser.get(self.base_url+'/')
        u"""立即注册百度账号"""
        browser.find_element_by_class_name("link-create").click()
        time.sleep(2)
        browser.close()

    def tearDown(self):
        self.browser.quit()
        self.assertEqual([],self.verficationErrors)
if __name__=="__main__":
    unittest.main()




猜你喜欢

转载自blog.csdn.net/warm77/article/details/78920723