selenium自动化测试数据驱动

目录

1.数据准备

2.数据拆分

 3.实现自动化

3.1  导入库

 3.2  打开浏览器方法,方法为unittest自带的方法

 3.3  关闭浏览器,同样也是自带方法

 3.4  导入测试数据

3.5  运行测试类

3.5  测试脚本完整代码


1.数据准备

Testdata.csv

搜索关键字
新闻
斗罗大陆
哔哩哔哩

2.数据拆分

import csv

def testdata():
    # 打开CSV文件
    with open("testdata.csv", encoding="utf-8") as open_csv:
        # 创建CSV读取器对象
        split_csv = csv.reader(open_csv)
        # 跳过第一行标题行
        next(split_csv)
        # 读取剩余行并存储在data列表中
        data = [row for row in split_csv]
    
    return data

# 调用测试函数并打印结果
print(testdata())

运行结果

 3.实现自动化

3.1  导入库

import time
from cs4.data import testdata
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest
from ddt import ddt, data

 3.2  打开浏览器方法,方法为unittest自带的方法

    def setUp(self) -> None:
        self.driver = webdriver.Chrome()

 3.3  关闭浏览器,同样也是自带方法

    def tearDown(self) -> None:
        self.driver.quit()

 3.4  导入测试数据

    #数据实例化
    aa=Adata()
    ss=aa.data()
    #遍历数据
    @data(*ss)

3.5  运行测试类

    #测试方法名称必须以test开头,否则无法运行
    def test_login(self, list):
        self.driver.get('https://www.baidu.com/')
        self.driver.find_element(By.NAME, 'wd').send_keys(list[0])
        self.driver.find_element(By.ID, 'su').click()
        time.sleep(3)

3.5  测试脚本完整代码

import time
from cs4.data import testdata
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest
from ddt import ddt, data


@ddt
class Ada(unittest.TestCase):
    def setUp(self) -> None:
        # 在每个测试方法执行之前设置
        self.driver = webdriver.Chrome()

    def tearDown(self) -> None:
        # 在每个测试方法执行之后清理
        self.driver.quit()

    # 实例化testdata并获取测试数据
    aa = Adata()
    ss = aa.data()

    # 使用@data装饰器将测试数据传入测试方法
    @data(*ss)
    def test_login(self, list):
        # 打开百度网页
        self.driver.get('https://www.baidu.com/')
        # 在搜索框中输入关键词
        self.driver.find_element(By.NAME, 'wd').send_keys(list[0])
        # 点击搜索按钮
        self.driver.find_element(By.ID, 'su').click()
        # 等待3秒
        time.sleep(3)

猜你喜欢

转载自blog.csdn.net/weixin_62854251/article/details/130092140
今日推荐