自动化测试数据驱动之csv文件读取

--------------------------------------------------------------------

用例1,用户名密码为空。

用例2,用户名为空。

用例3,密码为空。

用例4,用户名密码正确。

----------------------------------------------------------

 

这里以你们喜闻乐见的读取csv文件为例。

读取数据文件,并得到相应的数据,把这些数据用到具体的某个用例当中。

from selenium import webdriver
import unittest
import csv


# 读取本地 CSV 文件
data = csv.reader(open('login_test.csv', 'r'))

# 读取整个文件的数据放到users数组
users = []
for i in data:
    user = []
    for j in i:
        user.append(j)
    users.append(user)


class loginTest(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://xxx.login.page")

    # 封装用户登录
    def user_login(self, username, password):
        self.driver.find_element_by_id("idInput").send_keys(username)
        self.driver.find_element_by_id("pwdInput").send_keys(password)
        self.driver.find_element_by_id("loginBtn").click()

    def test_login1(self):
        '''用户名、密码为空登录'''
        i = 0
        for user in users:
            print(user[0])
            if user[0] == 'user_pawd_null':
                print(i)
                username = users[i][1]
                password = users[i][2]
                break;
            else:
                i +=1
        self.user_login(username, password)
    
    def test_login2(self):
        '''用户名正确,密码为空'''
        username = users[1][1]
        password = users[1][2]
        self.user_login(username, password)

    def test_login3(self):
        '''用户名为空,密码正确'''
        username = users[2][1]
        password = users[2][2]
        self.user_login(username, password)

    def test_login4(self):
        '''用户名密码正确 '''
        username = users[3][1]
        password = users[3][2]
        self.user_login(username, password)


if __name__ == '__main__':
    unittest.main()

1、创建了一CSV文件,然后把登录用的测试数据写到了文件了。--->创建了一个专门存放数据的文件,这多有逼格,自我感觉良好。

2、读取CSV文件,并且通过for循环,把所有数据组装成一个二维数组,并放users数组中。--->这没什么呀,只是多写了个for循环而已,继续自我感觉良好。

3、test_login1用例,为用户名密码都为空的用例,判断users数组中某一行的第一列是否为“user_pawd_null,是的话,说明这一行就是我想要的。取这一行的第二、第三列的测试数据,进行登录测试。--->这个取数据的方式有点。。。有点麻烦!

4、没关系!没关系!麻烦的话,我们看test_login2 ,用users[1][1]和users[1][2]也能取到CSV表第二行的数据。  ---->这不就不那么麻烦了!嗯,是不那么麻烦了,不过,有点傻逼。你确定你清楚的知道users[1][1]和users[1][2] 代表的啥?别急!别急!我打开CSV文件看看第2行对应是什么数据。


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值