1、环境准备
python + selenium + openpyxl + webdriver
2、实现功能
遍历数据文件Excel中的每一行数据(从第二行开始),执行完成后把实际结果、与预期值对比结果 、执行时间写入Excel文件中。
3、Excel文件
序号 | 关键词 | 期望结果 | 实际结果 | 执行结果 | 执行时间 |
1 | SELENIUM | SELENIUM_百度搜索 | |||
2 | WEB自动化策四 | WEB自动化策_百度搜索 | |||
3 | 业务字典 | 验证 | |||
4 | 业务建模 | 业务建模_百度搜索 | |||
5 | 微应用平台建设 | 微应用平台建设_百度搜索 |
4、代码实现
import datetime
from openpyxl.styles import PatternFill
from selenium import webdriver
from time import sleep
import openpyxl
from selenium.webdriver.common.by import By
def baidusearch():
# 读取Excel文件数据
file_path = '/data.xlsx'
book = openpyxl.load_workbook(file_path)
sh = book.worksheets[0]
rows = sh.max_row
cols = sh.max_column
for i in range(1, rows):
data = []
for j in range(1, cols + 1):
cell_value = sh.cell(row=i + 1, column=j).value
data.append(cell_value)
# *** 作Chrome浏览器,开始执行
browser = webdriver.Chrome()
browser.maximize_window()
browser.get('https://baidu.com/')
# send_keys搜索关键词参数化
browser.find_element(By.XPATH, '//*[@id="kw"]').send_keys(data[1])
browser.find_element(By.XPATH, '//*[@id="su"]').click()
sleep(2)
# 检查点设置,检查执行结果与预期结果是否匹配,并将执行结果写入Excel文件中
if data[2] in browser.title:
sh.cell(i + 1, 4, browser.title)
sh.cell(i + 1, 5, "成功").fill = PatternFill(start_color="00ff00", fill_type="solid")
sh.cell(i + 1, 6, datetime.datetime.now())
else:
sh.cell(i + 1, 4, browser.title)
sh.cell(i + 1, 5, "失败").fill = PatternFill(start_color="ff0000", fill_type="solid")
sh.cell(i + 1, 6, datetime.datetime.now())
browser.quit()
book.save(file_path)
if __name__ == '__main__':
baidusearch()
5、执行结果
序号 | 关键词 | 期望结果 | 实际结果 | 执行结果 | 执行时间 |
1 | SELENIUM | SELENIUM_百度搜索 | SELENIUM_百度搜索 | 成功 | 2022-05-07 13:19:05 |
2 | WEB自动化策四 | WEB自动化策_百度搜索 | WEB自动化策四_百度搜索 | 失败 | 2022-05-07 13:19:10 |
3 | 业务字典 | 验证 | 业务字典_百度搜索 | 失败 | 2022-05-07 13:19:15 |
4 | 业务建模 | 业务建模_百度搜索 | 业务建模_百度搜索 | 成功 | 2022-05-07 13:19:20 |
5 | 微应用平台建设 | 微应用平台建设_百度搜索 | 微应用平台建设_百度搜索 | 成功 | 2022-05-07 13:19:25 |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)