这个总结是从虫师的文章中学来的,先看下demo
import webdriver
from webdriver.common.by import By
from webdriver.common.keys import Keys
from webdriver.support.ui import Select
from common.exceptions import NoSuchElementException
import unittest, time, re
import HTMLTestRunner
class Baidu(unittest.TestCase):
def setUp(self):
fp=webdriver.FirefoxProfile("D:\\zhouxuan\\firefox_profile_setting") #引入profile的路径 这里是用了火狐的profile属性,不需要的可以直接默认启动firefox
self.driver = webdriver.Firefox(fp)
self.driver.implicitly_wait(30)
self.base_url = "http://10.0.6.193:8080/" #初始化访问的url
self.verificationErrors = []
self.accept_next_alert = True
#测试用例一
def test_baidu_search(self):
browser=self.driver
browser.get("http://10.0.6.193:8080/")
browser.find_element_by_name("username").send_keys("test")
print '1'
#测试用例二
def test_baidu_set(self):
print '2'
#测试用例三
def test_baidu_xxx(self):
print '3'
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
testunit=unittest.TestSuite() #定义一个单元测试容器
testunit.addTest(Baidu("test_baidu_search")) #将测试用例加入到测试容器中
testunit.addTest(Baidu("test_baidu_set"))
testunit.addTest(Baidu("test_baidu_xxx"))
filename = 'D:\\download\\result.html' #定义个报告存放路径,支持相对路径。
fp = file(filename, 'wb')
runner =HTMLTestRunner.HTMLTestRunner(
stream=fp,
title='Report_title',
description='Report_description')
runner.run(testunit) #自动进行测试
执行后的输出结果如图
可改进地方:
1 使用testunit.addTests 来替代testunit.addTest
2 日志的存储,固定名称会覆盖上一次的结果,所以要改进下存储