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邮箱登录页面中,存在多种测试情况,如用户名和密码为空,用户名为空密码不为空,密码为空用户名不为空返回的错误提示信息

def getdata():    #数据分离到列表中    return [        [‘‘,‘‘,‘请输入帐号‘],        [‘admin‘,‘‘,‘请输入密码‘],        [‘‘,‘admin‘,‘请输入帐号‘],        [‘^^^‘,‘‘,‘帐号格式错误‘]    ]

@ddtclass 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()

    @data(*getdata())    @unpack    def test_login_163(self,username,password,result):        #验证登录163邮箱N中情况        self.driver.find_element(By.ID,"switchAccountLogin").click()        #iframe框架        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()        divtext = self.driver.find_element(By.CSS_SELECTOR,‘div.ferrorhead‘).text        # print("错误信息:",divtext)        #断言 --错误断言        self.assertEqual(divtext,result)        #退出iframe框架        self.driver.switch_to_default_content()

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

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

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

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 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级别

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读写excel表格的方法二

目的:实现用python的另一种方法做excel的读取.新增操作. 环境:ubuntu 16.04  Python 3.5.2 情景:之前介绍了一种操作excel文件的方法(私链),现在使用另一种方法读写excel文件,一次性读出或写入,读写也很方便,读出为有序字典,像二维数组,需要用到3个第三方模块,pyexcel-io, pyexcel-xls, xlrd,主要导入pyexcel-xls和collections,pyexcel-xls基于xlrd和pyexcel-io,所以支持xls和xls

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之数据驱动ddt

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

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

监听app卸载操作 方法二 启动服务

1.监控输出日志接口 /** * * 监控输出日志接口 */ public interface LogcatObserver { /** * * @param info *            输出的日志信息 */ public void handleLog(String info); } 2.继承一个服务 public class LogcatScannerService extends Service implements LogcatObserver { private String i

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'