"pyton+senium+unittest框架,多个方法只开一次浏览器"
已有 821 次阅读2019-9-18 16:52
|个人分类:Selenium
今日使用seleniun进行ui自动化脚本编写,其中引入了unittest框架,并且在框架里面编写了def login(self):方法存放登录的脚本,然后再编写了def yw(self):方法存放登录后的业务。可能存在多个方法,并且在unittest结果集中添加了对应的方法后,发觉系统每执行一个方法都会重开一次网页(IE),这样给测试造成了很多不必要的麻烦。虽想是否一个类中无论存在多少个方法,始终都只开一次浏览器(IE)。以下是具体的做法。但是这种是仅限于unittest框架下:
在unittest框架下存在两个必须执行发方法:def setUp(self): 及def tearDown(self)直接默认这么写的发会打开多个网页(有多少个方法需要执行就开多少次)。
那么可以变通下,将这里改为:
@classmethod
def tearDownClass(cls):
cls.driver.quit()
——————————————————————————————————————————————————————
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.base_url = "baidu.com"
cls.driver.get(cls.base_url)
如此这般即可