范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python常用小知识第二弹

  一、Python中使用JsonPath提取字典中的值
  JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpath模块可以解决这个痛点。假设接口返回的json数据如下: {     "code": 200,     "data": [{             "id": 1018,             "venderNo": "8888"       }, {             "id": 1788,             "venderNo": "9999"              }     ],     "msg": "操作成功",     "rowCount": 2,     "pageCount": 1,     "currentPage": 1 }
  接口测试代码如下: import requests import json import jsonpath  res = requests.post(url, data=parameters, headers=headers) result = json.loads(res.text) #将接口响应文本内容转为字典格式
  想获取code的值很简单:res.get("code") 即可获取。但是想要第一个venderNo的值,则相对麻烦一点,可以使用以下几种方式: # 通过查找字典中的key以及list方法中的下标索引 venderNo = res.get("data")[0].get("venderNo") print(venderNo) #输出结果是:8888  # 使用jsonpath, 嵌套n层也能取到所有venderNo信息, $表示最外层的{},..表示模糊匹配 venderNo=jsonpath.jsonpath(d,"$..venderNo")  print(venderNo) #输出结果是list:["8888", "9999"] print(venderNo[0]) #输出结果是:8888  # 精确匹配找到第一个venderNo信息 venderNo = jsonpath.jsonpath(res, "$.data[0].venderNo")  # 输出结果是list:["8888"],使用venderNo[0]获取值8888 print(venderNo[0]) #输出结果是:8888
  更多使用方式,可参看Jsonpath的官方文档: https://goessner.net/articles/JsonPath/ 二、Python获取字典中的所有key和value
  假设接口测试的json数据文件中,我们定义期望结果如下: "expectdata": {   "code": "200",   "data[0].venderNo":"8" }
  我们从json文件中拿到expectdata={"code": "200", "data[0].venderNo":"8"},字典格式。想要打印所有的key和value,代码如下: expectdata={"code": "200", "data[0].venderNo":"8"} for item in expectdata.items():     print("key是:"+item[0])     print("value是:"+item[1])
  测试结果:
  作用:当需要校验expectdata中的所有字段的值和接口返回的值是否一致时,就可能会用到上面的方法。 三、Python获取项目中数据文件的相对路径
  在接口自动化测试框架中,我们的代码除了能在本地运行,也要能在不修改代码的前提下在其他的环境下能够运行,比如别人的电脑上、服务器上。
  因此我们在接口测试的模块调用中,必须使用相对路径,不能使用诸如:D:unitTestresources 这样的绝对路径,因为其他人下载你的工程代码后,不一定是放在D盘下的。代码放在服务器上运行时也会有路径问题。
  所以需要能够动态获取文件的相对路径,才能够满足框架的基本要求,比如项目目录结构如下:
  testcases文件夹下的py文件想获取resources文件夹下的json文件中的内容,获取json文件相对路径的代码如下: # 获取项目根路径 BASE_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) # 根路径下再去找到resources文件夹下的test_http_get_data.json文件 data_file_path = os.path.join(BASE_PATH, "resources", "test_http_get_data.json")
  最后根据json文件的相对路径,读取文件内容即可。 四、测开常见面试题
  1.如何去除列表中的重复元素:
  【题目】给出一个列表:lis = [4, 2, 2, 4, 1, 2, 1, 3, 4, 3],去除列表中的重复元素。 def duplicate():     lis = [4, 2, 2, 4, 1, 2, 1, 3, 4, 3]      # 解法1: 利用set去重,会改变列表顺序     lis1 = list(set(lis))      # 解法2:     lis2 = []     for i in lis:       if i not in lis2:         lis2.append(i)      print("lis1的值:", lis1)     print("lis2的值:", lis2)   if __name__ == "__main__":     duplicate()
  测试结果如下:
  2.判断字符串是否对称:
  【题目】给出一个字符串,判断该字符串是否对称 def test_symmetrical(str):     print("判断的字符串为:",str)     length = len(str)     print("字符串长度为:", length)     for i in range(int(length/2)):         if str[i] != str[length - i - 1]:             aaa = str[i]             bbb = str[length - i - 1]             print("第{}".format(i+1)+"轮判断失败:"+aaa+"!="+bbb)             return False     return True   if __name__ == "__main__":     input_pwd1 = "12333211"     print(test_symmetrical(input_pwd1))     print("==================================")      input_pwd1 = "1233321"     print(test_symmetrical(input_pwd1))
  测试结果:
  ==============================
  以上就是本次的全部内容,都看到这里了,如果对你有帮助,麻烦点个赞+收藏+关注,一键三连啦~
  欢迎微信搜索关注我的公众号:程序员杨叔,各类文章都会第一时间在上面发布,持续分享全栈测试知识干货,你的支持就是作者更新最大的动力~

赵本山徒弟接连出走,乡村爱情难继续,错在赵本山吗?本山传媒最近可谓霉运连连。在赵本山归隐之后,如今频频上热搜的情况真的不多见。但是这背后说白了,哪个不是钱闹的?之前的时候先是赵本山的徒孙娇娇频频出来指责赵本山和本山传媒,说自己没有近7个月口碑最好的9部韩剧语义错误仅第7,最高9。3分韩剧作为韩国的支柱产业之一,上新的速度也是相当快,但不是每一部都能口碑与收视率双丰收。2022年已进入7月,在过去这段时间内,韩剧中也出现不少高质量作品今天,就来看看哪些作品值得一铁幕从未完全升起由于尤先科政府在内政方面的拙劣表现,曾于2004年因橙色革命饮恨于尤先科的亚努科维奇,在2010年击败代表橙色联盟的季莫申科,当选为乌克兰总统。亚努科维奇的政治支持主要来自东南部各全球手机销量排名苹果让贤,华为落榜,中国品牌扎堆前5前段时间,Canalys(世界知名调研机构)对外公布了2022年第一季度,全球手机销量的排名,根据榜单的数据显示,在今年的前三个月,全球智能手机的总销量约为3。11亿部。对于全球手是陈时中好赌,还是蔡英文太藐视台北人图截自陈时中社交账号粉丝页脚上仍踩着台卫福部门主管及防疫指挥官两条船,陈时中第三只脚已迫不及待跨向台北市长选战。这出去年即已想定的戏码,今年虽碰到疫情大爆发,但蔡英文无意改写剧本,加拿大央行宣布基准利率提高100个基点至2。5来源央视新闻客户端原标题加拿大央行宣布基准利率提高100个基点至2。5当地时间7月13日,加拿大央行宣布将基准利率提高100个基点,达到2。5。加拿大央行目前的基准利率已达2008一拳超人番外篇,英雄协会内部竞争,项目负责人考核本文要分享的是一拳超人番外篇,这章漫画在前段时间就更新了的,但由于一些原因小K到现在才更新,请大家谅解。作者村田雄介表示,机器有时候会故障,人有时候也是如此吗?我需要多加注意了。许痛心!一周8位名人去世,3位导演,一位40岁女星,陈道明悼念文传奇猩探编辑传奇猩探2022年7月,注定是不平凡的一个月。7月的第一周,注定是不平凡的一周。在这短短的一周时间内,居然有8位名人相继离世。听闻此消息的人无不痛心疾首。其中最小的一励志!外卖小哥收到研究生录取通知书,谁说站在光里的才算英雄?如果你最近对生活多有不满,不妨看看这条新闻。上周,26岁的河南外卖小哥高帅在送外卖路上收到了上海交大法学院的研究生录取通知书。父亲生病后不认识人,智商像小孩子。高帅忍住喜悦没有当场谁接任指挥官尚未定陈时中竞选团队先曝光据台湾中时新闻网报道,民进党拍板由卫福部门负责人陈时中前交通部门负责人林佳龙出战双北,预计提交周三(13日)民进党中执会通过。而先前不但早就盛传陈时中的竞选办公室都找好了,最新进度我们的四(3)中队一起向未来春暖花开,遇见美好四十二张天真烂漫的笑脸,四十二双孜孜求学的双眼,四十二对勤劳温暖的小手,四十二颗团结友善的心灵,融成一个温馨和谐的大家庭四(3)中队。在这里,我们互相学习,遨游知
刚认识一个月的相亲对象,送了一部苹果手机求婚接受还是拒绝呢?这个问题比较复杂,这里涉及到双方的经济条件问题。如果男方是富二代,区区一个手机,就和请女方看个电影,吃个快餐一样,不足挂齿。可以欣然笑纳。如果对方是一个小白领,月薪2万以上,女方自助听器能不能不调试?有没有可能不调试助听器,效果就特别好?助听器的调试和佩戴一样是一项长久的工作,并不能一步调到位,刚开始带的时候能听到即可不宜过大,前期是一个磨合总结的阶段,一般一个月后针对某些听起来不舒服的声音进行一次调试。每年做一次对于男士皮衣来说,应该怎么穿搭?皮衣外套不仅是时尚圈的经典单品,更是许多人用来提升气势度的必要元素,从柔软到硬挺布料带有光泽感的皮革或者雾色调的精致质感,都是加强成熟帅气印象的造型神器,尤其到了秋冬季节,随性披上爸爸生病了儿子掏钱还是女儿掏钱,就现在的社会来说?爸爸病了儿子掏钱还是女儿掏钱,就现在社会来说?按封建社会来说是儿子掏钱,女儿能帮就帮。但社会发展到今天,就现在的社会来说儿子要掏钱女儿也要掏钱。新社会男女平等,孝敬父母有同等的义务抑郁症是不是只有自己想明白了才能快速治疗,不然别人怎么帮助都只是徒劳?是的!回答是肯定的。抑郁症患者只有自己想真正的改变自己,而不是逃避,才能真正的去寻求帮助,寻求解决问题的办法,这样才有机会找到走出抑郁的困境,这种情况称之为主动治疗。如果到了掩饰逃职工已经退休但是没有医疗保险,怎么办?如果职工退休后没有医疗保险,这可是件大事,需要尽早解决。随着年龄增大,一个人生病的概率会增加,如果没有医保,就意味着门诊及住院都得自掏腰包,这不是划算不划算的事情,而是在经济上能不考驾照哪个科目最难过?为什么?科目二吧当年兴高采烈报了驾校,科目二的项目练了又练,就是不会看后视镜,就是找不到教练所说的那个点(我高度近视),然后被教练骂得受不了了,直接退钱不考了我奇葩,我知道。说起考驾照,真荣和酒业的酒怎么样?大家知道中国是一个古文化和古历史渊源非常深厚的国家。有着上下五千年的文明,那么在这长长的历史长河之中又衍生出了无数的产物,每一种产物都代表着一个文明。那么大家知道吗,在上古时期就有怎么炒的土豆丝又脆又好吃?谢谢!很高兴能回答你的问题。说起土豆丝,这个菜估计全国的饭店和家庭都会做这道菜的,土豆丝也戏称国菜意思就是普及广,爱吃的人群大。而土豆丝最常见的做法就是酸辣土豆丝了。而让炒出来的土中国什么山最好看?我是加勒比海盗小丸子。很高兴回答你的问题。说起中国哪个山景色好,最好看,值得推荐去游览的事情,我想起2018年春天曾去过的四川青城山。我曾经爬过华山和泰山及嵩山,去过九华山和峨眉山塞尔达传说利贝拉树海神庙怎么打开?塞尔达传说利贝拉树海神庙怎么打开?题主问的应该是地图下方区域,利贝拉树海右上方的丘卡纳塔神庙(QukahNataShrine)吧?如图的位置这个神庙的解法其实很简单。先直接给结论用