栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python+selenium+unittest 只启动一次浏览器方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python+selenium+unittest 只启动一次浏览器方法

背景:
在自动化项目中 通常会有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.net/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只执行一次

如果你是多个文件一起执行多个自动化场景,就按照上述文件格式即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580433.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号