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

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

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

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

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

打开 excel

1、打开 excel

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

Go 语言如何读取 excel 测试数据,简单易学_第1张图片

读取 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() 可以获取到这一行的所有数据。

Go 语言如何读取 excel 测试数据,简单易学_第2张图片

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

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

总结

第一步:通过 OpenFile 读取文件

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

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

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

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

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(IT,职场经验,软件测试,golang,开发语言,后端,自动化测试,程序人生)