前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见的python问题解决思路

常见的python问题解决思路

作者头像
用户5521279
发布2020-12-28 11:40:20
4830
发布2020-12-28 11:40:20
举报
文章被收录于专栏:搜狗测试搜狗测试

背景

日常项目中,在使用python优化测试工具时,小编遇到了一些较常见的问题,现借此机会和大家分享下这些问题及相关的处理思路。

问题分享

问题1:解决特定接口无法通过IP直接访问的问题

问题场景

在进行接口测试时,需要分别验证测试环境、待上线环境、线上环境的生效性,但接口无法通过测试IP访问,只能通过特定域名来访问。

处理思路

通过设置代理的方式,在get/post中请求时设置host值。

实例展示

代码语言:javascript
复制
#headersData的作用是设置代理,测试环境为ip,直接访问ip不可以,需要通过特定域名访问url

知识扩展

使用python进行模拟get/post请求时,也可以设置其他的headers;例如Content-Type、User-Agent、Cookie等。

代码语言:javascript
复制
headersData ={

问题2:解决如何记录不同级别日志的问题

问题场景

在python脚本调试及使用过程中,为了方便查看及定位问题,需要增加一些不同级别的日志。

处理思路

使用python的logging模块进行日志记录。

实例展示

代码语言:javascript
复制
#方便调试

知识扩展

Logging输出特定格式的日志样式(时间+日志级别+输出信息)。

代码语言:javascript
复制
#level=loggin.DEBUG代表只有日志级别等于或者高于DEBUG时才会被记录(日志级别:DEBUG<INFO<ERROR<WARNING<CRITICAL)

思考:logging与print的区别

1、logging支持设定日志级别,输出指定级别的日志; 2、Logging支持设定日志输出到文件中,且可以设定输出格式; 3、Print打印的输出便于调试,验证通过后往往会注释掉,后续一旦需要维护,再添加注释比较麻烦。

问题3:解决如何处理复合数据的归类处理的问题

问题场景

代码语言:javascript
复制
List_A=[{'0000':'6.0.12'},{'189000':'6.0.12'},{'189001':'6.0.12'},{'189001':'6.0.13'},{'0000':'6.0.13'},{'189000':'6.0.13'}]

在使用python进行工具优化时,为了便于结果输出,需要将List_A这种格式的数据归类成List_B格式的数据。

处理思路

1、首先新建一个空的Hash_A哈希表,一个空的List_C数组; 2、依次遍历List_A中的每一个数据,取出每个数据的key值,即’0000’、’189000’、’189001’; 3、判断步骤2中key值是否在步骤1中Hash_A表中,如果不在Hash_A表中,见步骤4,如果在Hash_A表中,见步骤5。 4、将步骤2中key对应的value值添加到List_C数组中,并将key:List_C键值对添加到Hash_A表中,最后清空List_C数组; 5、取出Hash_A表中key对应的value值,并将value值赋值给List_C数组,将步骤2中key对应的value值添加到List_C数组中,并将key:List_C键值对添加到Hash_A表中,最后清空List_C数组; 6、最后输出Hash_A即可。

实例展示

代码语言:javascript
复制
# 整理归类结果

问题4:解决如何对以“.“或者”-”组成的多段的数字型字符串进行排序的问题

问题场景

代码语言:javascript
复制
list_V=["6.0.12","5.0.13","6.6.12","6.6.15","6.8.16"]

在使用python实现下拉按钮时,需要将上述列表中的数据按照顺序添加到组件上。

处理思路

先将list_V中的每个数据分别转换成数组,然后使用python内置的sort函数进行整体排序;

实例展示

代码语言:javascript
复制
list_V.sort(key=lambda x:list(int(v) for v in x.split(".")))

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档