python+unittest+selenium打开一个浏览器执行多条用例(包含关闭浏览器单个窗口以及退出浏览器的操作方法)

前言:

1、python+unittest+selenium打开一个浏览器执行多条用例需要用到setUpClass(cls)和tearDownClass(cls)这两个方法
2、本文包含关闭浏览器单个窗口以及退出浏览器的操作方法,已在代码中注释

一、部分执行结果

1、用例1部分截图:
在这里插入图片描述
2、用例2部分截图:
在这里插入图片描述
3、pycharm执行结果:
在这里插入图片描述

二、示例代码

import time
from selenium import webdriver
import unittest

class baogao(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.baidu_url = "https://www.baidu.com"
        cls.csdn_url = "https://www.csdn.net/"

    def setUp(self):
        self.driver.maximize_window()#浏览器最大窗口化

#执行用例1
    def test_baidu(self):
        driver = self.driver
        driver.get(self.baidu_url)
        #若单独使用下面注释掉的代码,即直接写入浏览器地址,则不用setUpClass里的cls.baidu_url = "https://www.baidu.com"
        # driver.get("https://www.baidu.com")
        driver.find_element_by_xpath("//input[@name='wd']").send_keys("HTMLTestRunner")
        driver.find_element_by_xpath("//input[@id='su']").click()
        time.sleep(3)
#执行用例2
    def test_csdn(self):
        driver = self.driver
        driver.get(self.csdn_url)
        # 若单独使用下面注释掉的代码,即直接写入浏览器地址,则不用setUpClass里的cls.csdn_url = "https://www.csdn.net/"
        # driver.get("https://www.csdn.net/")
        time.sleep(5)
        driver.find_element_by_id("toolbar-search-input").send_keys("Eayonz")
        time.sleep(5)
        driver.find_element_by_id("toolbar-search-button").click()
        time.sleep(2)
        #driver.find_element_by_xpath("/html/body/div[5]/div[1]/div[2]/div[3]/dl[1]/dt/div/a").click()
        #time.sleep(2)
#结束退出
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()#退出浏览器
        #cls.driver.close()#关闭当前浏览器中的一个标签窗口

注意事项:

setUpClass以及tearDownClass函数前必须要有@classmethod修饰符
解释:classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
Python菜鸟教程:https://www.runoob.com/python/python-func-classmethod.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值