【无标题】

模拟ajax 异常请求:
Ajax是一种创建交互式、快速动态网页应用的网页开发技术,无需加载整个网页的情况下,能够更新部分网页的技术。
通过在与服务器较少的数据交换,ajax可以使网页实现异步更新,可以在不重新加载整个网页的情况下,对网页进行部分更新。
服务器如何判断前端请求是一个ajax请求(异步)还是传统http请求(同步)
如果在请求的header中包含:X-Request-With:XMLHttpRequest 说明是一个ajax请求。
使用requests法请求时,header中带上X-Request-With:XMLHttpRequest模拟ajax请求,可以接收返回的json.


注意:如果非ajax请求,在接收响应的json()时,如果报错requests.exceptions.JSONDecodeError: [Errno Expecting value],说明网站设置了反爬虫。
     可以尝试在header中添加cookie 、User-Agent、X-Request-With:XMLHttpRequest,发起请求后接收json()
    
    

    
文件上传:
参数设置案例:
# 设置文件上传参数
#imgFile:上传文件接口参数名,
# '文件路径不显示.bmp':上传后文件名
# open(r'D:\sunsun\软件测试管理\文件路径不显示.bmp','rb'):以二进制读的形式打开上传文件,
# image/bmp:文件的MME类型
img_upload_param = [('imgFile',('文件路径不显示.bmp',open(r'D:\sunsun\软件测试管理\文件路径不显示.bmp','rb'),'image/bmp'))]

传参时以files = xxxx 传入post方法

MIME类型获取:filetype库,库中有方法可以自动判断文件的MIME类型。
安装 pip install filetye


重定向(redirect):
通过各种方法将网络的请求重新定个方向转到其他位置。
重定向状态码:
301:永久性转移
302:暂时性转移

重定向后的url在响应的header中,header中的Location的值就是重定向后的URL
在重定向的接口发起请求时,需要在get()或post()中设置allow_redirects=False。
原因:
allow_redirects=True是启动重定向,系统会自动处理重定向后的地址,自动处理后就无法获取重定向后的urlle
,就无法进行下一步,这里需要设置allow_redirects=False,禁止自动化处理重定向后的url
    

token:是在服务端产生的,如果前端使用用户名密码向服务端请求认证,服务点认证成功,那么服务端会返回Token给前端,前端在请求时可以
带上token,证明自己请求是合法的。


登录密码加密处理:
密码加密有一定的算法,在工作环境中,如何使用加密算法对密码加密开发是知道的,我们测试时可以去问开发如何使用加密算法对密码加密,这样的话,我们在发起登录请求前,
先对密码加密,将加密后的密码传入登录接口即可。


获取接口响应时间:

r.elapsed # 获取精确到微妙为单位的响应时间
r.elapsed.total_seconds() # 获取响应时间,单位为秒,精确到微妙,一般用这个
r.elapsed.microseconds # 获取响应时间,单位为微秒
r.elapsed.seconds # 获取响应时间,单位为秒,精确到秒
r.elapsed.days # 获取响应时间,单位为天,精确到天
r.elapsed.max #能计时的最大值
r.elapsed.min #能计时的最小值
r.elapsed.resolution #能计时的最小时间单位 1微秒

设置请求的时间:在get或post中添加参数timeout=x

设置请求超时重试:
se = requests.session() # 实例化session对象
# 设置超时重试
se.mount('http://',HTTPAdapter(max_retries=3)) # 设置http请求超时重试3次
se.mount('https://',HTTPAdapter(max_retries=3))# 设置https请求超时重试3次

设置默认重试次数:
requests.DEFAULT_RETRIES = 5  #重试连接5次

设置代理服务器:
在get()或者post()中添加参数proxies = xxxx


webservices接口测试:
web service也叫XML Web Service。web service 基于soap(simple object access protocol  简单对象存取协议)协议。soap基于XML文档的调用规范。

web service接口相对于http接口好处:
1、接口中实现的方法和参数一目了然
2、不担心大小写问题,不担心中文问题
3、传递的参数可以是数组、对象等,可以处理复杂的数据类型


web service接口相对于http接口缺点:
因为要对xml进行解析,速度相对较低。

web service 接口使用suds库

json解析:当返回的json比较复杂时,可以使用。
使用jsonpath库解析json

jsonschema:可以按照一定的模式或规则校验json是否符合这个模式或规则,对于响应的json中存在变化的值,而又必须使用这个变化值断言时,使用jsonschema


requests-html 库:
requests-html 是对requests库进行了封装,添加了解析html的接口,是一个python的html解析库。pip install requests-html
requests-html支持xpath和css定位

requests-html支持java script渲染页面,需要下载一个chromium浏览器,
安装命令:pyppeteer-install。
安装chromium浏览器时需要修改下载源。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值