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

前言:

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

一、部分执行结果

1、用例1部分截图:
《python+unittest+selenium打开一个浏览器执行多条用例(包含关闭浏览器单个窗口以及退出浏览器的操作方法)》
2、用例2部分截图:
《python+unittest+selenium打开一个浏览器执行多条用例(包含关闭浏览器单个窗口以及退出浏览器的操作方法)》
3、pycharm执行结果:
《python+unittest+selenium打开一个浏览器执行多条用例(包含关闭浏览器单个窗口以及退出浏览器的操作方法)》

二、示例代码

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

    原文作者:Eayon z
    原文地址: https://blog.csdn.net/Eayonz/article/details/108238229
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞