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(file).split(‘\n‘)#     print(aa[2],type(aa[2]))

def MailInfo(index):    ‘‘‘封装读取文本信息方法,index为读取的行数‘‘‘    with open(‘Mail163.txt‘,‘r‘,encoding=‘utf-8‘) as fp:        file = fp.readlines()        aa = "".join(file).split(‘\n‘)        return aa[index]

#报错信息 --添加encoding=‘utf-8‘#UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xb7 in position 29: illegal multibyte sequence# print(MailInfo(2))#字符串切割\n -->用split(‘\n‘)#[‘\n‘, ‘admin\n‘, ‘^^^^\n‘, ‘请输入帐号\n‘, ‘请输入密码\n‘, ‘帐号格式错误‘]

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

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

    def test_username_password_null(self):        ‘‘‘验证:用户名为空密码为空的错误信息提示‘‘‘        self.login_163(MailInfo(0),MailInfo(0))        self.assertEqual(self.Assert_Text(),MailInfo(3))

    def test_username_null(self):        ‘‘‘验证:用户名为空密码不为空的错误信息提示‘‘‘        self.login_163(MailInfo(0),MailInfo(1))        self.assertEqual(self.Assert_Text(), MailInfo(3))

    def test_passwd_null(self):        ‘‘‘验证:用户名不为空密码为空的错误信息提示‘‘‘        self.login_163(MailInfo(1), MailInfo(0))        self.assertEqual(self.Assert_Text(),MailInfo(4))

    def test_username_input_format(self):        ‘‘‘验证:用户名输入非法字符的错误信息提示‘‘‘        self.login_163(MailInfo(2), MailInfo(1))        self.assertEqual(self.Assert_Text(), MailInfo(5))

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

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

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

python之数据驱动Txt操作的相关文章

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

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

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

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之数据驱动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中关于txt的简单读写模式与操作

Python中关于txt的简单读写操作 常用的集中读写模式: 1.r 打开只读文件,该文件必须存在. 2.r+ 打开可读写的文件,该文件必须存在. 3.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. 4.w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失.若文件不存在则建立该文件. 5.a 以附加的方式打开只写文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留. 6.a+ 以附加方式

Python学习之--文件操作

Python中对文件操作可以用内置的open()函数 读文件 f=open('/home/test/test.txt','r') # 读模式打开文件 f.read() # 读取文件内容 除了正常的读取文件内容,一个常用的操作是判断文件内容是否为空,如下: if len(f.read())==0: # 如果文件内容为空 xxxx 判断一个文件或者路径是否存在,如下(这里需要在代码中导入os module: import os): file='/home/test/test.txt' dir='/h

[Python基础]006.IO操作

IO操作 输入输出 print raw_input input 文件 打开文件 关闭文件 读文件 写文件 文件指针 实例 输入输出 输入输出方法都是Python的内建函数,并且不需要导入任何的包就可以使用. print 简单控制台输出方法 print ... print 'content' raw_input 简单的控制台输入方法 raw_input(显示的内容....) num = raw_input('Please input a number:') // 输入一个数字 print num

python进阶--文件读写操作

Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 = open('thisfile.txt') >>>try: f1.read() finally: f1.close() 2. 读文件(read,readline,readlines) ①读文本文件 input = open('data','r') input.read() ②读二进制文件