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)
    

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

  • 相关阅读:
    net5:动态修改内存中的站点地图节点
    手动创建DataTable并绑定gridview
    文件转换成二进制流及二进制流转换成文件
    XML 增、删、改和查的实例【转】
    免费CSS鼠标样式代码大全
    C#连接数据库SQL(2005)
    关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用
    史上最全的Maven Pom文件标签详解
    Readme.MD 例子
    GitHub中README.md文件的编辑和使用
  • 原文地址:https://www.cnblogs.com/manma/p/11051752.html
Copyright © 2011-2022 走看看