Python3.6+selenium2.53.6自动化测试_ddt数据驱动(二)

本文介绍了使用Python3.6和selenium2.53.6进行自动化测试时,如何通过DDT(Data Driven Testing)实现数据驱动测试的方法。首先讲解了环境配置,包括编辑工具和浏览器的选择。然后详细阐述了DDT的使用步骤,包括导入DDT库、在测试类前使用ddt装饰器以及如何分批传入测试数据。最后展示了代码实例及运行结果。
摘要由CSDN通过智能技术生成

环境:

编辑工具:

浏览器:

 

有问题可以联系qq:1776376537

安装DDT

一 分析

1 导入DDT

2 类前引入ddt

3 分三次,作为三个字典把数据传过来

二 代码

#导入包
from selenium import  webdriver
import unittest
from pages.login_page import LoginPage,lgoing_url
from common.base import Base
import ddt
'''
先思考下手工操作顺序(主要流程)
第1个用例:输入admin,输入123456,点击登录
第2个用例步:输入admin,不输入,点击登录
第3个用例:输入111admin,输入123456,点击登录
'''
#用字典去存储
testdates = [
    {"user":"admin","psw":"123456","expect":"退出"},
    {"user":"admin","psw":"","expect":""},
    {"user":"admin1111","psw":"123456","expect":""}
]
@ddt.ddt
class LoginPageCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Firefox()
        cls.driver.maximize_window()
        cls.loginpg = LoginPage(cls.driver)
        cls.driver.get(lgoing_url)
    def setUp(self):
            # self.driver.get(lgoing_url)
        self.loginpg.is_alert_exist()
        self.driver.delete_all_cookies()#清空cookies
        self.driver.refresh()
        self.driver.get(lgoing_url)
    def login_case(self,user,psw,expect):
        self.loginpg.login(user,psw)
        # self.loginpg.input_user(user)
        # self.loginpg.input_psw(psw)
        # self.loginpg.click_login_button()
        result = self.loginpg.get_login_name()
        print("测试结果:%s" % result)
        # print(result)
        self.assertTrue(result==expect)
    # ddt.data(*testdates)#分开传入,分三次,作为三个字典传过来
    @ddt.data({"user":"admin","psw":"123456","expect":"退出"},
              {"user":"admin","psw":"","expect":""},
              {"user":"admin1111","psw":"123456","expect":""})
    #执行的时候不按顺序,这个没有关系
    def test_01(self,data):
        '''
        1 输入用户admin密码123456点击登录
        :return:
        '''
        print("------------------开始:---------------")
        print("测试数据:%s" % data)
        self.login_case(data["user"],data["psw"],data["expect"])
        print("------------------结束:end!---------------")
    # def tearDown(self):
    #     self.loginpg.is_alert_exist()
    #     self.driver.delete_all_cookies()#清空cookies
    #     self.driver.refresh()
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
if __name__ == "__main__":
    unittest.main()

三 运行结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值