首页 > 其他分享 >第15课、参数化-DDT xlrd

第15课、参数化-DDT xlrd

时间:2023-02-08 01:22:35浏览次数:50  
标签:__ 15 self ddt import xlrd DDT data login

 

 

二、基于上一节课的代码模块,加上ddt

 

有两个地方需要加修饰符

1.测试类前面:@ddt.ddt

2.测试用例前:@ddt.data

-------

有了ddt模块,就可以实现多组数据串行登录页面,并判断是否登录成功:

在test_login.py中,代码添加ddt:

import unittest
from selenium import webdriver

from t7.pages.login_page import Login,login_url1
import ddt
test_datas =[
    {"user":"admin","psw":"123456","expect":True},
    {"user": "admin9", "psw": "123456", "expect": True},
    {"user": "test1", "psw": "123456", "expect": False}
]

@ddt.ddt
class TestLogin(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get(login_url1)
        self.a =Login(self.driver)

    def tearDown(self):
        self.driver.quit()

    @ddt.data(*test_datas)
    def test_login_01(self,data):
        '''测试数据正常-登录成功'''
        print("测试数据:%s"%data)
        self.a.login(data["user"],data["psw"])
        result =self.a.is_login_sucess("后台首页")
        print("登录的实际结果:%s"%result)
        self.assertTrue(result==data["expect"])


if __name__ == '__main__':
    unittest.main()

 

 

 

 

 

 

 

 

import unittest
from selenium import webdriver
from t7.pages.login_page import Login,login_url1
from t7.case.readexcel import ExcelUtil
import os
import ddt

userdpath = os.path.dirname(os.path.realpath(__file__))
filepath = os.path.join(userdpath,"logindata.xlsx")
print("logindata的路径:%s"%filepath)
readexcel = ExcelUtil("logindata.xlsx","Sheet1")
test_datas = readexcel.dict_data()
print(test_datas)
'''
test_datas =[
    {"user":"admin","psw":"123456","expect":True},
    {"user": "admin9", "psw": "123456", "expect": True},
    {"user": "test1", "psw": "123456", "expect": False}

]
'''


@ddt.ddt
class TestLogin(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get(login_url1)
        self.a =Login(self.driver)

    def tearDown(self):
        self.driver.quit()

    @ddt.data(*test_datas)
    def test_login_01(self,data):
        '''测试数据正常-登录成功'''
        print("测试数据:%s"%data)
        self.a.login(data["user"],data["psw"])
        result =self.a.is_login_sucess("后台首页")
        print("登录的实际结果:%s"%result)
        self.assertTrue(result==data["expect"])


if __name__ == '__main__':
    unittest.main()

 

标签:__,15,self,ddt,import,xlrd,DDT,data,login
From: https://www.cnblogs.com/pingzi66-ww/p/17100296.html

相关文章

  • OpenHarmony开发15 —— 消息队列
    OpenHarmony开发15——消息队列说点别的,这几天没更新真的是被这个消息队列折磨完了,谁知道鬼鸿蒙它不进行任何提示!为什么stackoverflow会不提示啊!!!太折磨了太折磨了......
  • 代码随想录算法训练营第八天【字符串】344.反转字符串、541.反转字符串II、剑指Offer
    344.反转字符串力扣题目链接 541.反转字符串II力扣题目链接 剑指Offer05.替换空格力扣题目链接 151.翻转字符串里的单词力扣题目链接 剑指Offer58-II.左......
  • 【LeeCode】215. 数组中的第K个最大元素
    【题目描述】给定整数数组 ​​nums​​​ 和整数 ​​k​​​,请返回数组中第 ​​k​​ 个最大的元素。请注意,你需要找的是数组排序后的第 ​​k​​ 个最大的元素,......
  • 力扣写题记录15-三数之和
    题目描述:给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返......
  • P1157 组合的输出
    组合的输出题目描述排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,...,n,从中任取r......
  • 代码随想录算法训练营Day7哈希表| 454.四数相加II383. 赎金信15. 三数之和18. 四数之
    454.四数相加Ⅱ题目链接:454.四数相加给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i,j,k,l) 能满足:、0<=i,j,......
  • 打印从10h到100h 16*15
    .modelsmall.codemoval,16movcx,240xorbx,bxjmpagainagain:movah,2movdl,alint21h;输出一个字符串incal;加一incbx.ifb......
  • STM32MP157开发板Linux+Qt项目实战:智慧家庭
    stm32mp157开发板FS-MP1A是华清远见自主研发的一款高品质、高性价比的Linux+单片机二合一的嵌入式教学级开发板。开发板搭载ST的STM32MP157高性能微处理器,集成2个Cortex-A7......
  • 训练总结 2018.11.15
    昨天第一次打线上CFdiv2,感觉自己还太嫩了,第一题,从本来读对题意,到读错题意,然后读全题意,但还是读错了,真是,把我弄到上天,比赛结束也没能A,赛后听学长指导,终于明白题意了,A了,自己还......
  • 树形背包 HDU 1561 The more, The Better
    Themore,TheBetterTimeLimit:6000/2000MS(Java/Others)    MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):3149    AcceptedSubmission......