入门级excel数据驱动自动化

测试数据:
在这里插入图片描述

基类:

from time import sleep
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait


def open_broswer(browser_name):
    try:
        driver = getattr(webdriver, browser_name)()
        print('启动谷歌浏览器')
        driver.maximize_window()
    except Exception as e:
        print(e)
        print('[error]浏览器填写存在错误,默认启动谷歌浏览器')
        driver = webdriver.Chrome()
        driver.maximize_window()
    return driver



class Web:
    def __init__(self,browser_name):
        #想用那个浏览器就用那个浏览器,根据写的来
        self.driver = open_broswer(browser_name)
        #self.driver = webdriver.Chrome()



    #打开网页
    def open(self,**kwargs):
        self.driver.get(kwargs['txt'])


    #退出浏览器
    def quit(self, **kwargs):
        self.driver.quit()


    #定位元素
    def locate_element(self,**kwargs):
        return self.driver.find_element(kwargs['name'],kwargs['value'])

    #输入
    def input(self,**kwargs):
        self.locate_element(**kwargs).send_keys(kwargs['txt'])


    #点击
    def click(self,**kwargs):
        self.locate_element(**kwargs).click()

    #强制等待
    def wait(self,**kwargs):
        #不要写成 self。sleep
        sleep(kwargs['txt'])

if __name__ == '__main__':
    pass

测试用例:

from time import sleep

import openpyxl
from Utils.web import Web


workbook = openpyxl.load_workbook("../data/test.xlsx")
#sheet = workbook['Sheet1']

#sheetnames
for sheet in workbook.sheetnames:
    print(f'sheet的名字{sheet}')
    tmp = workbook[sheet]
#这里必须写sheet.values 不能不带 values
    for value in tmp.values:
        print(value)
        dic = {}
        event = value[1]
        dic['name'] = value[2]
        dic['value'] = value[3]
        dic['txt'] = value[4]
        #不写if type(value[0]) is int: 会报错,自己可以试试看
        if type(value[0]) is int:
            if event == 'browser':
                driver = Web(dic['txt'])
            else:
                getattr(driver,event)(**dic)

        else:
            print("该用例的第一列序号列内容不是数字!")

结果:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值