背景介绍
小程序云测服务 支持用户可以使用 Minium 框架编写测试用例
在用户编写用例时,经常遇到的一个场景就是文件数据读取,例如:
- 将用例相关参数放在csv文件中,然后再用例里面去读取对应的配置,执行不同的逻辑
- 使用 数据驱动测试 时,将数据驱动源从YAML、CSV等文件传入
执行文件数据读取相关用例时,获取文件路径是关键
很多用户会发现在本地执行Minium 用例时可以执行成功,在云测执行就会报 No such file or directory 文件找不到这样的错误
产生这样报错的原因有很多种,比如:
- 用例直接使用绝对路径去定位,如
D:\minium\xxx, 而在云测执行时,这样的路径显然是不存在的 - 用例使用相对路径定位,用户本地执行用例时,使用PyCharm等工具执行。PyCharm可能 配置了环境变量,或者将当前执行路径加入环境变量,所以本地执行可以找到文件并执行成功。当在云测服务执行时,是在用例的根目录执行的,此时可能无法找到文件地址
解决方案
为了帮助用户解决在用例中文件路径找不到的问题,我们给出了可以在本地和云测同时跑通的 示例代码 ,目录结构如下所示。其中 bases/base_path.py 给出了读取存储文件路径关键代码,test/first_test.py 给出了具体case使用的示例
─ddt-project
│ │ config.json
│ │
│ ├─bases
│ │ │ base_path.py //处理文件路径
│ │ │ __init__.py
│ │ │
│ │ └─data //存储文件数据
│ │ 1.csv
│ │ 3.yml
│ │ 4.xlsx
│ │
│ └─test //测试用例
│ first_test.py
│ __init__.py
1、获取文件路径
bases/base_path.py中给出了读取存储文件路径关键代码,思路就是:
- 先获取当前环境下,base_path.py的绝对路径,如
/home/runtest/cases/bases/base_path.py - 然后根据base_path.py的绝对路径,获取项目根路径,即返回上两级,如
/home/runtest/cases/ - 然后获取要读取的文件的相对路径(相对于项目根目录的路径)。例如我们要读data下的1.csv,它相当于项目根目录下的相对路径是
/bases/data/1.csv - 最后把项目根路径,与要读取文件的相对路径进行连接。例如连接后的路径为
/home/runtest/cases/bases/data/1.csv
这样无论在什么环境下,最终读取的都是当前环境的绝对路径,保证文件能够读取成功
关键函数如下所示:
def g

文章介绍了在使用Minium框架进行小程序云测时,用户在读取文件数据(如CSV)时遇到的文件路径问题。当用例在本地执行成功但在云测环境中报错,通常是因为路径问题。解决方案是通过获取当前脚本的绝对路径,确定项目根目录,然后构建相对于项目根目录的文件路径,确保在任何环境下都能正确读取文件。文章提供了获取文件路径的示例代码,并展示了如何在测试用例中使用读取的数据进行DDT数据驱动测试。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



