zoukankan      html  css  js  c++  java
  • selenium初级实战

    软件的安装

    测试固件:比如打开、关闭浏览器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)
    

     注意:使用类方法时,每执行完一个用例,需要初始化回到首页,不然执行会报错

  • 相关阅读:
    UVa 1349 (二分图最小权完美匹配) Optimal Bus Route Design
    UVa 1658 (拆点法 最小费用流) Admiral
    UVa 11082 (网络流建模) Matrix Decompressing
    UVa 753 (二分图最大匹配) A Plug for UNIX
    UVa 1451 (数形结合 单调栈) Average
    UVa 1471 (LIS变形) Defense Lines
    UVa 11572 (滑动窗口) Unique Snowflakes
    UVa 1606 (极角排序) Amphiphilic Carbon Molecules
    UVa 11054 Wine trading in Gergovia
    UVa 140 (枚举排列) Bandwidth
  • 原文地址:https://www.cnblogs.com/manma/p/11051752.html
Copyright © 2011-2022 走看看