Selenium の自動テスト データ駆動型

目次

1. データの準備

2. データの分割

 3. 自動化する

3.1 ライブラリのインポート

 3.2 ブラウザメソッドを開きます。このメソッドはunittestに付属するメソッドです。

 3.3 ブラウザを閉じることも組み込みの方法です

 3.4 テストデータのインポート

3.5 テストクラスを実行する

3.5 テストスクリプトの完全なコード


1. データの準備

テストデータ.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