netbeui协议_数据那么多,看着犯困!试一下协议自动化

    在测试中对于报表这一块一直是测试难点(~~!好恶心的样子)   

a365c14e46954fdbc5af4208a6dc583d.png

    数据太多,看着犯困困,试一下协议自动化7123e7f88da9a26c088c06992b0698c4.png

6793d8e48ede0061df2032b1e27cb312.png

    先来了解一下协议:

>>> 百度百科解释:协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

    语义: 解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以完成的动作与做出什么样的相应。

    语法: 用户数据与控制信息的结构与格式,以及数据出现的顺序。

    时序: 对事件发生顺序的详细说明。

    好比你说中国话,我也说中国话

    常见协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。

    TCP/IP协议,是这三大协议中最重要的一个,是互联网的基础协议,任何和互联网有关的操作都离不开TCP/IP协议。但TCP/IP协议在局域网中的通信效率不高,使用它在浏览“网上邻居”中的计算机时,会出现不能正常浏览的现象。

2、NetBEUI,即NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议。

3、IPX/SPX协议,是Novell开发的专用于NetWare网络中的协议,但大部分可以联机的游戏都支持IPX/SPX协议。虽然这些游戏通过TCP/IP协议也能联机,但显然还是通过IPX/SPX协议更省事,因为根本不需要任何设置。

da071a5c8ca80348cb7574ae49c54baf.png

这里了解一下http协议,其他不过多解释,感兴趣的同学可自行百度b1521c33a0fe421bf5c82531f94c7369.png

HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议 。

     回到原题:客户端浏览器通过HTTP协议拼包发送到服务器,服务器返回响应数据到客户端浏览器,客户端浏览器拿到数据后通过前端 ui 把数据展示处理

    那么由此得出,搞明白 客户端浏览器 到 服务器 这中间发生过什么就可以通过协议模拟拉取数据:通过抓包工具(F12、fiddler等)抓到这里客户端浏览器发送的请求,再模拟客户端浏览器通过 http 协议拼包请求服务器,就可以得到报表的全部数据集,然后再把数据提前出来断言对比就解决了报表数据多难以验证的问题了13ad762841a4e99ac37d7e174dbe9ea8.png

     拿微博热搜来演示下:

>>> 打开chrome,搜索微博热搜

>>> 按 F12 打开开发者工具,刷新页面,点击 Network 图1处
>>> 点击 All 图2处,看到 图3 处抓到的数据请求,通过点击 图4 Response 看返回的数据集,找到符合页面请求的回包( 重点 )
>>> 点击 Headers ,找到包头 ,看到使用的是GET请求

3f59587d181de8af15da922ae6541d03.png

    语言使用的python2.7,框架使用的原生自带的 urllib2,先设置一个函数 get_url,把浏览器Headers内的'User-Agent'实例化,设置一下代理,判断使用代理或为None,install_opener把代理添加urllib2内,发送请求,return返回出来数据,这样我们就拿到了微博热搜页面值d884e5e05a399cff01a4ecbbaea184ba.png

e7266f1758b2bd1d13704566674320e0.png

    原码:

coding:utf-8

import urllib2

def get_url(url, data = None, proxyswitch = False):
   # User-Agen 指浏览器的名称。
   headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

# 设置代理
httpproxy_handler = urllib2.ProxyHandler({'https': '',
                                  'http': ''})
nullproxy_handler = urllib2.ProxyHandler({})

# 判断代理是否使用
if proxyswitch:
    opener = urllib2.build_opener(httpproxy_handler)
else:
    opener = urllib2.build_opener(nullproxy_handler)

# 添加全局代理
urllib2.install_opener(opener)

# 发送请求
req = urllib2.Request(url=url, headers=headers)
res = urllib2.urlopen(req)
response = res.read()
return response

data = ''''''

url = '''
https://s.weibo.com/ajax/jsonp/gettopsug?uid=&ref=PC_topsug&url=https%3A%2F%2Fs.weibo.com%2Ftop%2Fsummary%
3Fcate%3Drealtimehot&Mozilla=Mozilla%2F5.0%20(Windows%20NT%2010.0%
3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%
20Chrome%2F73.0.3683.86%20Safari%2F537.36&_cb=STK_15959345848923
'''

print get_url(url, None, True)

    感兴趣的同学可以试一下o~~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值