zoukankan      html  css  js  c++  java
  • python-Csv 实战

    一、实战准备

      在工程文件下创建 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

  • 相关阅读:
    [转]权限树中Checkbox的操作[Asp.Net2.0]
    [转]IE点击链接没有反应或打开新窗口出现一个空白框(地址栏空白)的解决方法
    [引]VS2005 之 Visual Basic 编程语言介绍
    [文摘20070816]家(周国平)
    Linux 下zip包的压缩与解压
    SOSO发布国内首家高清街景地图 引领地图换代
    VC 获取当前工作目录和执行目录的一些方法
    设置vim 默认显示行号
    利用脚本将文字插入到图片或进行多个图片拼接
    ImageMagick操作合并图像
  • 原文地址:https://www.cnblogs.com/yuntimer/p/11963945.html
Copyright © 2011-2022 走看看