天气接口测试用例

代码如下:

import unittest,requests,xmltodict,json
from time import sleep
from urllib import parse

class TQ(unittest.TestCase):
    def setUp(self):
        self.url="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"
        self.headr={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
    def test_Tq_ok(self):
        city = {"theCityName": "上海"}
        city=parse.urlencode(city).encode('utf-8')
        r=requests.get(self.url,headers=self.headr,params=city)
        rdata=xmltodict.parse(r.text)#将xml转成str
        rjson=json.dumps(rdata,ensure_ascii=False,indent=1)#将str转换成dict
        rjson=eval(rjson)#将dict转换成json格式
        self.assertEqual(rjson['ArrayOfString']['@xmlns:xsi'],'http://www.w3.org/2001/XMLSchema-instance')
        sleep(3)
    # 下面这条用例不知道是接口限制的问题还是什么问题,一直解决不了,望大佬解决
    # def test_Tq_cscw(self):
    #     city = {"theCityName": "123"}
    #     city = parse.urlencode(city).encode('utf-8')
    #     r = requests.get(self.url, headers=self.headr, proxies=self.prox, params=city)#此处是没有代理的值,问题已解决
    #     rdata = xmltodict.parse(r.text)
    #     rjson = json.dumps(rdata, ensure_ascii=False, indent=1)
    #     data=rjson.replace('null','404')
    #     data = eval(rjson)
    #     self.assertEqual(data['ArrayOfString']['string'][0], '查询结果为空!')
    #     sleep(3)

if __name__=='__main__':
    unittest.main

运行结果如下:

原文地址:https://www.cnblogs.com/jinbiaobowen/p/12951069.html