记新人从 excel 文件中读取字典数据踩的一个坑

大家好,我是来自 python13 期的夜雨声烦,原本是打算今天分享一下最近学习接口自动化的心得体会,然而在我写模板的时候,却被一个坑拦我大半天,心得体会不得不 延期再分享了😷。在我无数次调试无数次看 log,终于发现并解决这个问题了。下面记录一下踩的坑:
首先我有这么一个简单至极的 Excel 用例,请看下图:
image.png
其他列暂且忽略,我们发现 param 列的元素在 python 中是字典格式的,对吧?然后我就一波操作,从 Excel 中取到了这个字典,然后通过 request.get 方法,传到参数里面,but???发现返回值 500?什么鬼啊?我不信,不用这个获取到的 param,直接定义一个一样的字典传到 get 方法里面。哎?成功了?woc,明明这两个都长一样啊,一个成功调用了接口的数据,另一个怎么 500?(此处忽略 N 处怀疑其他地方出问题的-.-)看来就是这个 param 有问题啊。可是看上去都一样啊?肿木办啊!就在我苦思冥想几个小时之后,一个 idea 灵光一闪,字符"1"和数字 1 看上去不也一样嘛,莫非,取出这个字典也变成了字符串?哎,对啊,取出来的就是字符串啊!只不过长得像字典而已!为了证实一下猜想,用 type 函数验证了一下,果然就是这个问题!敌人伪装成了字典,但是它就是字符串,呵!好,问题找到了,那么要怎么解决这个问题呢?把字符串转换成字典?对不起,这题超纲了!😭 我能怎么办?我也很绝望啊!于是乎,非常腼腆的去百度了一下怎么解决(感谢度娘,阿西吧),果然,解决办法多样,什么 JSON 啊,eval()啊,ast.literal_eval 啊 等等等。我这么笨,当然只能记住最简单的那个 eval(),于是就又腼腆的使用这个 eval()函数,在代码中偷偷的将敌人字符串转换成我们的友军字典。完美。然后再执行,一切都如预期那样,该成功的成功,该执行失败的失败,美滋滋!
附上结果图:
image.png
image.png

1 回帖
请输入回帖内容 ...
  • huahua

    🤓 哈哈 解决 bug 的过程被你写成了一个小说~真棒!