defgetTargetUrl(): #遍历我们上面拿到的一个字典,里面存储着项目名称以及能够获取到测试URL的接口 for key, values in targetApiDit.items(): print("当前资产:"+key) #定义一个空数组,循环一次就清空一次,同时下面也会同步写入到一个新的字典里面,实现了每个项目名称所对应的测试URL TargetUrl = [] for value in values: #进行请求获取测试URL的API response = httpx.get(url=value, headers=headers, timeout=None,verify=False) #获取响应数据 json_data = json.loads(response.text) #遍历一下,拿到uri for uri in json_data["targets"]: uri_url = uri.get("uri") if uri_url: #把同一个项目的URI存到这个数组里面 TargetUrl.append(uri_url) #把所有的URI都存到这个数组里面,下面直接调用就输出了一个全部URI的txt文件 MergeTxt.append(uri_url) #根据测试项目做为key,所属项目的测试URI做为value 构造成一个新的字典,下面写到Excel的时候用到 resultXlsxDit[key] = TargetUrl
实现把所有测试URL写入到txt的代码
1 2 3 4 5 6
defoutPutMergeTxt(): # 打开文本文件进行写入 withopen('output.txt', 'w') as file: # 将数组中的每个元素写入文本文件的新行中 for item in MergeTxt: file.write(str(item) + '\n')