批量执行测试用例
#以百度为例
#创建三个py文件,命令为test_baidu_links,test_baidu_so,AllTestRun
#coding=utf-8
from selenium import webdriver
import unittest
class BaiduLink(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.get('http://www.baidu.com')
def teardown(self):
self.driver.quit()
def test_baidu_map(self):
'''首页:点击地图是否可以正常的跳转'''
self.driver.find_element_by_link_text('新闻').click()
self.assertEqual(self.driver.current_url,'http://news.baidu.com/')
def test_baidu_news(self):
'''首页:点击新闻是否可以正常的跳转'''
self.driver.find_element_by_link_text('地图').click()
self.assertEqual(self.driver.current_url, 'http://map.baidu.com/')
if __name__=='__main__':
if __name__ == '__main__':
unittest.main(verbosity=2)
#coding=utf-8
from selenium import webdriver
import unittest
class BaiduLink(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.get('http://www.baidu.com')
def teardown(self):
self.driver.quit()
def test_baidu_enabled(self):
'''首页:百度搜索输入框可编辑'''
enabled=self.driver.find_element_by_id('kw')
self.assertTrue(enabled.is_enabled())
def test_baidu_so(self):
'''首页:测试百度的搜索功能'''
so=self.driver.find_element_by_id('kw')
so.send_keys('webdriver')
self.driver.find_element_by_class_id('su').click()
self.assertEqual(so.get_attribute('value'),'webdriver')
if __name__=='__main__':
unittest.main(verbosity=2)
#coding=utf-8
'''批量执行所有测试用例'''
'''用html生成报表 将HtmlTestRunner.py文件放在python的lib目录下'''
import unittest
import os
import HTMLTestRunner
def allTests():
suite=unittest.TestLoader().discover(
start_dir=os.path.dirname(__file__),
pattern='test_*.py',
top_level_dir=None)
return suite
def run():
#重新建个report文件,定位到report下面建一个html报告文件
fp=os.path.join(os.path.dirname(__file__),'report','tsetReport.html')
HTMLTestRunner.HTMLTestRunner(
#需要打开文件并且写入
stream=open(fp,'wb'),
title='自动化测试报告',
description='自动化报告详细说明').run(allTests())
if __name__=='__main__':
run()
#巧妙的运用discover就可以批量执行测试用例啦
#用html生成列表显示在这里