admin 管理员组文章数量: 887021
背景:
在自动化项目中 通常会有N个自动化场景,这个场景可能会分别写在不同的py文件中,如果在每个文件中都执行一次启动浏览器的话,会出现启动多个浏览器并且自动化停止
解决思路:
把启动浏览器的这段代码 封装成一个类,然后在不同的自动化py文件中 通过imoprt 引入 然后进行复用
代码如下:
###DriverUtil.py文件
###这个里面可以启动浏览器,也可以启动APP
from selenium import webdriver
class DriverUtil():
def __init__(self):
self.driver = webdriver.Chrome()
def start(self):
self.driver.get('https://www.jb51/article/92682.htm')
self.driver.implicitly_wait(15)
self.driver.maximize_window()
return self.driver
###登录类
# -*- coding:utf-8 -*-
import unittest
from TestApps.venv.driverUtil import DriverUtil
class LoginTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
#调用启动类
cls.driver = DriverUtil().start()
def test_1_login(self):
"""首页登录"""
#偷懒我就不写代码了
pass
def test_2_login_index(self):
"""登录后跳转"""
pass
@classmethod
def tearDownClass(cls):
pass
if __name__ == '__main__':
unittest.main()
@classmethod的作用是 在一个类中 setUpClass、tearDownClass只执行一次
如果你是多个文件一起执行多个自动化场景,就按照上述文件格式即可
本文标签: 浏览器 方法 python selenium Unittest
版权声明:本文标题:python+selenium+unittest 只启动一次浏览器方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1727324827h1101965.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论