• 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)
    

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

  • 相关阅读:
    浅谈C++ STL中的优先队列(priority_queue)
    哈夫曼树与哈夫曼编码
    Binary Search 的递归与迭代实现及STL中的搜索相关内容
    Prime 算法的简述
    估算网站需要多少宽带方法
    微服务服务拆分步骤
    第一次有人把科创板讲得这么简单明了
    一个人优秀到可怕的三个迹象!一旦具备,必为人中龙凤,大富大贵
    美元加息怎么“剪羊毛”
    英国脱欧的影响
  • 原文地址:https://www.cnblogs.com/manma/p/11051752.html
Copyright © 2020-2023  润新知