目次
3.2 ブラウザメソッドを開きます。このメソッドはunittestに付属するメソッドです。
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)