Go 语言如何读取 excel 测试数据,简单易学


测试当中的数据经常会有 Excel 保存起来,尤其是一些用例的步骤和入参。这么做的好处是,不管你使用什么样的工具,不管你使用什么样的编程语言,都可以通过读取通用格式的数据来进行自动化测试。

在自动化测试中,人们常用的编程语言是 Python 和 Java, 但是随着 golang 的普及,也有越来越多的技术团队用 go 语言做自动化测试。

这篇文章讲 go 语言如何读取 excel 当中的测试数据。

Excelize 是 Go 语言编写的用于操作Excel 文档的库,现在我们用 xlsx 格式的excel 文件,都可以通过 excelize 库来操作。Excelize 除了支持数据操作,还可以设计样式,操作图标,透视表和切片器。
 

打开 excel

1、打开 excel

Go 语言的优势可以通过 defer 来执行一些后置操作,defer 可以在函数执行结束时调用,因此在打开 excel 后可以直接通过 defer 关闭文件,其他的操作写在后面就行了,不至于忘记关闭文件。

在这里插入图片描述

读取 sheet 表格
2、读取 sheet 表格

一个 Excel 会包含多个表格,因此首先要选一个表格才能读取里面的内容, 我个人认为 csv 是一种更适合存储用例数据的形式,直接打开文件就可以了,不需要再选择表格,而且 csv 只关注数据,操作速度会快很多。但是现在 excel 还是用得更多,还是继续专注把读取数据讲完,下回再讲 csv 格式。

rows, err := f.GetRows("Sheet1")
if err != nil {
  log.Fatal("打开表单失败")
}

表格得到的是一个嵌套的 Slice, 可以通过 for 循环得到每一行数据:

for _, row := range rows {
  log.Println(row)
}

 Next 迭代

也可以得到一个可迭代对象,通过 Next 手工迭代一次,把第一行的的表头数据取出来。通过 rows.Columns() 可以获取到这一行的所有数据。

图片

接下来的循环就可以得到所有的测试数据了。

for rows.Next() {
  columns, err := rows.Columns()
  if err != nil {
    log.Fatal("获取数据出错")
  }
  log.Println(columns)
}

总结

第一步:通过 OpenFile 读取文件

第二步:通过 GetRows 读取所有行数据

也可以通过 Rows 得到左右的行,再通过 Next 手工迭代获取数据。

 


最后我邀请你进入我们的软件测试学习交流群:785128166, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

关注【公众号:豆子熊】免费领取!

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值