selenium ddt数据驱动模式


#背景:
  ddt是一种文件驱动方法,不是所有的用例都适用,下面已登录举例,我的理解驱动方法的目的就是为了减少代码量,从而验证更多的场景的一种方法,
大致分为以下几步,

#
conding:utf-8 import unittest from selenium import webdriver from page.login_page import LoginPage,belle_url from common.log import * loginLog=Log()

#第一步:导入ddt包
import ddt

#第二步:数据分离,定义一个list,里面设置字典类型数据,设置想要驱动的数据
data1=[{"user":"liu.yqty","password":"111111"}, {"user": "liu.yqty", "password": "111211"}, {"user": "liu.yqty", "password": ""}, {"user": "", "password": "111111"}] #第三步:引用@ddt.ddt装饰类 @ddt.ddt class login(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.get(belle_url) self.login_driver = LoginPage(self.driver) def login(self,user,password): #1输入账号 self.login_driver.input_username(user) #2输入密码 self.login_driver.input_password(password) #3点击登录按钮 self.login_driver.click_login_button() def tearDown(self): self.driver.quit()
#第四步:加载测试数据,*代表取的是list类型,**代表取的字典类型,然后设置断言 @ddt.data(
*data1) def test01_login(self,data): print(data) try: loginLog.info("开始测试") result=self.login(**data) sucessMsg=self.login_driver.getSucessMsg() assert u"刘永强-体育" in sucessMsg loginLog.info(sucessMsg+"登录成功") print(sucessMsg+"登录成功") except Exception as msg: failrusult=self.login_driver.getLoginMsg() loginLog.info(failrusult) print(failrusult) if __name__=="__main_": unittest.main()

 

posted @ 2020-06-21 15:47  one*love  阅读(348)  评论(0编辑  收藏  举报