• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#实现中国天气网XML接口测试

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

点击链接查看中国天气网接口说明,最近想研究一下接口测试,源于最近一次和某公司的技术总监(交大校友)谈话,发现接口测试的需求是比较大的,于是想要研究一下。

好不容易在网上找到了一个关于中国天气网的接口说明,就是上面那篇。决定访问下这个接口,对接口返回的内容进行分析,筛选出我想要的信息。

想到当时问及的接口主要是json类型的,但是苦于没有找到json类型的接口(上文中的json接口貌似失效了),就先拿xml类型的接口试验一下,我想原理应该都差不多,只是具体的实现有些不同。

若谁有可用的json接口方便透漏一下,欢迎留言,非常感谢!

以下以从中国天气网接口返回的内容中获取关于北京城市的天气信息举例,代码如下:

using System;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Xml.Linq;

namespace InterfaceTest
{
    class Program
    {
        static void Main(string[] args)
        {
            ReportWeather("北京");
        }

        private static void ReportWeather(string cityName)
        {
            string localContent = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"\test.txt";
            try
            {
                string url = "http://flash.weather.com.cn/wmaps/xml/china.xml";
                WebClient MyWebClient = new WebClient();
                Byte[] pageData = MyWebClient.DownloadData(url); 
                string pageHtml = Encoding.UTF8.GetString(pageData);
//XDocument doc = XDocument.Parse(pageHtml); using (StreamWriter sw = new StreamWriter(localContent)) { sw.WriteLine(pageHtml); } XDocument doc = XDocument.Parse(pageHtml); //XDocument doc = XDocument.Load(localContent); var results = from ele in doc.Descendants("city") where ele.Attribute("cityname").Value.Equals(cityName) select ele; foreach (var result in results) { Console.WriteLine("城市:" + cityName); Console.WriteLine("天气情况:" + result.Attribute("stateDetailed").Value); Console.WriteLine("气温情况(摄氏度):" + result.Attribute("tem1").Value + "" + result.Attribute("tem2").Value); Console.WriteLine("风力情况:" + result.Attribute("windState").Value); } Console.ReadLine(); } catch (WebException webEx) { Console.WriteLine(webEx.Message.ToString()); } } } }

不管是不是为了方便起见,我把接口返回的信息保存到了本地一份(路径为localContent),内容如下:

运行截图如下(多云转霾……记得小时候听天气预报都是多云转晴……唉……):

这样我们就实现了对xml接口返回信息的过滤,对于xml类型接口的测试。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#泛型初探发布时间:2022-07-13
下一篇:
c#序列化泛型List发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap