python之数据驱动ddt操作(方法三)

import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unittest,timefrom parameterized import parameterized

#安装 : pip install parameterized

#数据驱动模型# ddt excel+ddt yaml+ddt txt+ddt

#@unpack 表示用来解压元组到多个参数#应用:ui级别的自动化测试中可以实现编写一个测试用例实现多个不同的测试点验证#例如在163邮箱登录页面中,存在多种测试情况,如用户名和密码为空,用户名为空密码不为空,密码为空用户名不为空返回的错误提示信息

class Mail_163(unittest.TestCase):    def setUp(self) -> None:        self.driver = webdriver.Chrome()        self.driver.maximize_window()        self.driver.implicitly_wait(5)        self.driver.get("https://mail.163.com/")

    def tearDown(self) -> None:        self.driver.quit()

    def login_163(self,username,password):        #验证登录163邮箱N中情况        self.driver.find_element(By.ID,"switchAccountLogin").click()        iframe = self.driver.find_element(By.TAG_NAME,‘iframe‘)        self.driver.switch_to_frame(iframe)        self.driver.find_element(By.NAME,‘email‘).send_keys(username)        self.driver.find_element(By.NAME,‘password‘).send_keys(password)        time.sleep(1)        self.driver.find_element(By.ID,"dologin").click()

    #只有一个列表,列表里面有元组    @parameterized.expand(        [(‘‘, ‘‘, ‘请输入帐号‘),         (‘admin‘, ‘‘, ‘请输入密码‘),         (‘‘, ‘admin‘, ‘请输入帐号‘),         (‘^^^‘, ‘‘, ‘帐号格式错误‘)])    def test_login(self,username,password,result):        #登录163  --异常处理        self.login_163(username,password)        time.sleep(2)        try:            divtext = self.driver.find_element(By.CSS_SELECTOR, ‘div.ferrorhead‘).text            print("错误信息:", divtext)            self.assertEqual(divtext, result)        except Exception as msg:            print("断言失败{}".format(msg))        self.driver.switch_to_default_content()

if __name__ == ‘__main__‘:    unittest.main(verbosity=2)

原文地址:https://www.cnblogs.com/Teachertao/p/11706450.html

时间: 2024-10-09 13:33:36

python之数据驱动ddt操作(方法三)的相关文章

python之数据驱动ddt操作(方法四)

from ddt import ddt,data,unpackfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time,unittest """测试类前加修饰@ddt.ddtcase前加修饰@ddt.data() 相同的测试用例@ddt.unpack 分解data的参数""" @ddtclass BaiduSearch(unittest

python之数据驱动ddt操作(方法二)

import unittestfrom ddt import ddt,unpack,datafrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport unittest,time #数据驱动模型# ddt excel+ddt yaml+ddt txt+ddt #@unpack 表示用来解压元组到多个参数#应用:ui级别的自动化测试中可以实现编写一个测试用例实现多个不同的测试点验证#例如在163邮箱

python之数据驱动ddt操作(方法一)

下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt DDT的使用 DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据) 只有yaml和yml结尾的文件以yaml形式上传,其他情况下默认为json 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有

Python之数据驱动ddt

一.背景 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向.逆向等多种组合,所以在测试一个接口时,通常会编写多条case,而这些除了传参不同外,并没有什么区别.这个时候就可以利用ddt来管理测试数据,提高代码复用率. 二.ddt安装 ddt是python的第三方库,安装可以进行命令安装,或者通过pycharm界面中settings进行安装. 三.ddt模块组成 1.ddt模块包含类的装饰器ddt和两个方法装饰器data ddt.ddt:装饰类,也就是继承TestCase的类. d

012 python接口 数据驱动ddt

''' 时间:2018/11/05 目录: 一: 安装ddt 二: 禅道登录 1 工程结构 2 unittest文件 3 实现功能文件 4 执行结果 三: 使用excel 1 安装xlrd 2 准备测试数据 四: 禅道登录 1 工程结构 2 unittest文件 3 实现功能文件 4 read_excel.py 5 执行结果 ''' 一: 安装ddt 1 : 运行输入"cmd",进入Dos窗口. 2 : 输入"pip install ddt"(安装ddt模块). 1

python之数据驱动Txt操作

一.新建数据Mail163.txt文本 二.Txt_Mail163.py脚本如下: import unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time #未封装的读取文本信息方法# with open('Mail163.txt', 'r', encoding='utf-8') as fp:# file = fp.readlines()# aa = ''.join(f

python之数据驱动Excel操作(方法一)

一.Mail163.xlsx数据如下: 二.Mail163.py脚本如下 import xlrdimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport time #安装:pip install xlrddef readExcel(nrow): '''读取Excel数据''' table = xlrd.open_workbook('Mail163.xlsx','r'

python webdriver 测试框架-数据驱动DDT的例子

先在cmd环境 运行 pip install ddt 安装数据驱动ddt模块  脚本: #encoding=utf-8 from selenium import webdriver import unittest,time import logging,traceback import ddt from selenium.common.exceptions import NoSuchElementException #初始化日志对象 logging.basicConfig( #日志级别 leve

2、python逐行读取文件内容的三种方法

方法一: 复制代码代码如下: f = open("foo.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: print line, # 后面跟 ',' 将忽略换行符 # print(line, end = '') # 在 Python 3 中使用 line = f.readline() f.close() 方法二: 复制代码代码如下: for line in open("foo.txt&