软件的安装

测试固件:比如打开、关闭浏览器setup()、teardown();
断言:期望结果;
Unitest测试用例必须test开头
测试类中有多个测试用例时,想要执行其中某一个用例,鼠标放到对应用例上,右键点击执行,就只执行这个测试用例。

如下:每执行一个用例需要打开、关闭一次浏览器
import unittest
from selenium import webdriver
class SinaMailTest(unittest.TestCase):
'''Up大写啊,切记'''
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.maximize_window()
# self.driver.implicitly_wait(30)
self.driver.get('https://mail.sina.com.cn/')
def tearDown(self):
self.driver.close()
def test_sina_islogin(self):
'''bool类型验证,验证新浪邮箱是否默认登录,is_selected代表已勾选,若未勾选,再返回值为false'''
islogin=self.driver.find_element_by_id('store1').is_selected()
self.assertTrue(islogin)
def test_sina_issecret(self):
'''BOOL类型验证,验证是否加密已勾选'''
issecret=self.driver.find_element_by_id('ssl1').is_selected()
self.assertTrue(issecret)
if __name__ == '__main__':
unittest.main(verbosity=2)
用类方法@clssmethod,使用例执行只需打开、关闭一次浏览器、
import unittest
from selenium import webdriver
import time as t
class BaiduTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.driver.maximize_window()
cls.driver.implicitly_wait(30)
cls.driver.get('http://www.baidu.com')
@classmethod
def tearDownClass(cls):
cls.driver.close()
def test_baidu_so(self):
'"搜索业务,测试百度的搜索"'
self.driver.find_element_by_id('kw').send_keys('selenium')
'''测试固件只打开关闭一次,每次执行后回到首页'''
self.driver.get('http://www.baidu.com')
def test_baidu_news(self):
'''进入百度新闻'''
self.driver.find_element_by_link_text('新闻').click()
t.sleep(3)
'''测试固件只打开关闭一次,每次执行后回到首页'''
self.driver.get('http://www.baidu.com')
if __name__ == '__main__':
# '''对testsuite进行实例化'''
# suite=unittest.TestSuite()
# suite.addTest(BaiduTest('test_baidu_so'))
# suite.addTest(BaiduTest('test_baidu_news'))
# unittest.TextTestRunner(verbosity=2).run(suite)
'''按照测试类进行执行'''
suite=unittest.makeSuite(BaiduTest)
unittest.TextTestRunner(verbosity=2).run(suite)
注意:使用类方法时,每执行完一个用例,需要初始化回到首页,不然执行会报错