zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    window上部署Flask
    PIP超时
    覆盖内敛样式
    解决js导出csv中文乱码
    没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览。
    nuget加载本地包
    DataTable表头对不齐、添加参数等方法总结
    根据class判断
    element-ui的table动态生成表头和数据,且表中数据可编辑
    VScode快捷键、Chrome快捷键知识小总结和状态码
  • 原文地址:https://www.cnblogs.com/onelove1/p/13172653.html
Copyright © 2011-2022 走看看