一、实战准备
在工程文件下创建 test.csv 文件,这里不能直接创建,需要现创建 test.xlsx 文件,不能直接修改后缀,要另存为 test.csv,实践文件内容如下:

下面实现读取 csv 文件内容:
import csv
import os
def readCsv(row,col):
rows = []
with open(os.path.join(os.path.dirname(__file__),'test.csv')) as f:
reader = csv.reader(f)
next(reader,None)
for iter in reader:
rows.append(iter)
return ''.join(rows[row][col])
print(readCsv(1,2))
#打印出来是:请输入邮箱名
以上代码,首先把读取的文件内容放在 rows 的列表中,“.join(rows[row][col])” 是把列表 row 转换为字符串。
二、实现代码
以新浪登录为例,实现把测试中的数据存储到 csv 文件中,实现的代码如下:
__author__ = "XXX"
import unittest
from selenium import webdriver
import os
import time as t
import csv
def readCsv(row,col):
rows = []
with open(os.path.join(os.path.dirname(__file__),'test.csv')) as f:
reader = csv.reader(f)
next(reader,None)
for iter in reader:
rows.append(iter)
return ''.join(rows[row][col])
class SinaLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.get('http://mail.sina.com.cn/')
self.driver.implicitly_wait(30)
def tearDown(self):
t.sleep(3)
self.driver.quit()
def login(self,username,password):
'''验证:测试新浪邮箱登录N中情况'''
self.driver.find_element_by_id('freename').send_keys(username)
self.driver.find_element_by_id('freepassword').send_keys(password)
self.driver.find_element_by_link_text(u'登录').click()
def divText(self):
divText = self.driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/'
'div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
# 在freeError-span[1]里,根据情况输入情况变化的
return (divText.text).encode('utf-8')
def test_username_password_null(self):
'''验证:测试用户名和密码都为空的错误提示信息'''
# 都为空,提示:请输入邮箱名
self.login(readCsv(0,0), readCsv(0,1))
self.assertTrue(self.divText(), readCsv(0,2))
def test_sina_password_null(self):
'''验证:测试用户为空密码不为空的错误提示信息'''
# 用户名:空,密码:admin,提示:请输入邮箱名
self.login(readCsv(1,0), readCsv(1,1))
self.assertTrue(self.divText(), readCsv(1,2))
def test_sina_username_format(self):
'''验证:测试用户邮箱格式不正确的错误提示信息'''
# 用户名:admin@sina.com,密码:空,提示:请输入密码
self.login(readCsv(2,0), readCsv(2,1))
self.assertTrue(self.divText(), readCsv(2,2))
if __name__ == '__main__':
unittest.main(verbosity=2)
效果略。
谢谢查看!
2019-11-30
浙公网安备 33010602011771号