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

一、Mail163数据如下:

二、Excel+ddt代码如下:

import xlrdimport unittestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ddt import ddt,data,unpackimport time

#安装:pip install xlrd#读取的数据存储在list表中def readExcels():    table = xlrd.open_workbook(‘Mail163.xlsx‘,‘r‘)    sheet = table.sheet_by_index(0)    nrow = [] #定义空列表    for row in range(1,sheet.nrows): #从1-N行读取遍历数据        #sheet.row_values(1,0,2)从0-2列读取数据成列表        nrow.append(sheet.row_values(row,start_colx=0,end_colx=sheet.ncols))    return nrow# print(readExcels())#[[‘‘, ‘‘, ‘请输入账号‘], [‘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()

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

    def Assert_Text(self):        #断言 :文本断言        try:            divtext = self.driver.find_element(By.CSS_SELECTOR, ‘div.ferrorhead‘).text            return divtext        except Exception as msg:            print("断言失败{}".format(msg))        self.driver.switch_to_default_content()

    @data(*readExcels())    @unpack    def test_username_password_null(self,username,password,result):        ‘‘‘验证:登录163邮箱 N中情况的错误信息提示‘‘‘        self.login_163(username,password)        self.assertEqual(self.Assert_Text(),result)

    # def test_username_null(self):    #     ‘‘‘验证:用户名为空密码不为空的错误信息提示‘‘‘    #     self.login_163(readusername(2),readpassword(2))    #     self.assertEqual(self.Assert_Text(), readresult(2))    #    # def test_passwd_null(self):    #     ‘‘‘验证:用户名不为空密码为空的错误信息提示‘‘‘    #     self.login_163(readusername(3), readpassword(3))    #     self.assertEqual(self.Assert_Text(),readresult(3))    #    # def test_username_input_format(self):    #     ‘‘‘验证:用户名输入非法字符的错误信息提示‘‘‘    #     self.login_163(readusername(4), readpassword(4))    #     self.assertEqual(self.Assert_Text(), readresult(4))

if __name__ == ‘__main__‘:    unittest.main(verbosity=2) #详细日志信息

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

时间: 2024-10-29 17:53:40

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

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

Selenium2+python自动化-数据驱动(ddt)

一.环境准备 1.安装ddt模块,打开cmd输入pip install ddt在线安装 二.数据驱动原理 1.测试数据为多个字典的list类型 2.测试类前加修饰@ddt.ddt 3.case前加修饰@ddt.data() 4.运行后用例会自动加载成三个单独的用例 # coding:utf-8 import ddt import unittest # 测试数据 test_data = [{"username": "zhangsan", "pwd"

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完成对excel的操作

import numpy as np import pandas as pd 1.通过外部文件导入数据表 df=pd.DataFrame(pd.read_csv('name.csv',header=1)) df=pd.DataFrame(pd.read_Excel('name.xlsx')) 2.通过填入数据生成数据表 df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], "date":pd.date_ra

【Python开发】Excel的操作之——读取

主要思路参考这篇博客的内容,把地址贴上: http://www.cnblogs.com/zhoujie/p/python18.html 下面贴上我自己的代码 读取excel数据的demo代码如下: 1 def read_excel_demo(): 2 # 打开文件 3 workbook = xlrd.open_workbook(r'C:\Users\wxz\Desktop\2018年信用卡花费(Kevin).xlsx') 4 # 获取所有sheet 5 print('打印所有sheet表名称:'

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

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

使用POI对excel进行操作生成二维数组

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.poi.hssf.usermodel.HSSF

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操作(方法三)

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