当前位置: 首页 > news >正文

网站pc端和手机端分离怎么做网站建设免费

网站pc端和手机端分离怎么做,网站建设免费,在意派建设好网站后,网站页头图片你好啊!我是山茶,一个持续探索AI 测试的程序员! 在做接口测试时,在python中内置了HTTP库 urllib,可以用于发送http请求。基于urllib二次封装的三方库Requests,相较于urllib更佳简介易用。所以,…

你好啊!我是山茶,一个持续探索AI + 测试的程序员!

在做接口测试时,在python中内置了HTTP库 urllib,可以用于发送http请求。基于urllib二次封装的三方库Requests,相较于urllib更佳简介易用。所以,在接口自动化测试中通常使用Requests库对接口进行测试

Requests安装

因为Requests是第三方库,所以需要对其进行安装,通常安装使用pip命令安装即可

# 在终端命令行或python编辑工具pycharm的Terminal中输入以下指令即可
pip install requests

安装完成后,在编辑器中引入对应的库import requests

Requests常见请求类型

HTTP接口测试涉及到3个方面

  • 请求方法:get、post、put、 delete、head ......

  • 请求体:form、json、xml、 binary

  • 响应结果:status code、 response body、 json path、 xpath

接口常见的请求方法及类型如下

#【如有问题,关注公众号:程序员山茶】留言r = requests.get('http://127.0.0.1:8080/shancha/test_one') #get请求
r = requests.post('http://127.0.0.1:8080/shancha/test_one', data = {'key':'value'})#post请求
r = requests.put('http://127.0.0.1:8080/shancha/test_one', data = {'key':'value'})
r = requests.delete('http://127.0.0.1:8080/shancha/test_one')
r = requests.head('http://127.0.0.1:8080/shancha/test_one')
r = requests.options('http://127.0.0.1:8080/shancha/test_one')#【如有问题,关注公众号:程序员山茶】留言
# 构造请求目标
import resquests
r = requests.get('http://127.0.0.1:8080/shancha/test_one')
print(r.status_code)  # 响应结果为 200# 构造请求头
url = 'http://127.0.0.1:8080/shancha/test_one'
headers ={'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)
print(r.status_code) # 响应结果为 200# 构造请求cookie
url = 'http://127.0.0.1:8080/shancha/test_one'
cookies = dict(cookies_are='chengxuyuanshancha')
r = requests.get(url, cookies=cookies)
print(r.status_code) # 响应结果为 200

Requests请求体构造

请求体key:value 即键值对的形式存在,如query参数、form请求、binary请求(上传文件)以及json、xml、 json rpc等结构化请求

# form 和 Json 示例如下
#【如有问题,关注公众号:程序员山茶】留言# form请求
payload = {'key':'valuel','key2':'value2'}
r = requests.post("http://127.0.0.1:8080/shancha/test_one", data=payload)
print(r.status_code) # 响应结果为 200# JSON请求
url = 'http://127.0.0.1:8080/shancha/test_one'
payload = {'some': 'data'}
r = requests.post(url, json=payload)
print(r.status_code) # 响应结果为 200

Requests响应断言

在做测试时,结果判断是功能实现的重要依据之一。结果判断也可以称之为响应断言,即对请求动作结果返回的预期

  • 响应的类型有多种

    • r.url:

    • r.status_code

    • r.headers

    • r.cookies

    • r.encoding

    • r.content

    • r.text

    • r.json()

以接口API为例

#【如有问题,关注公众号:程序员山茶】留言# 结构化响应断言方式
import requests
import jsonr = requests.get('https://api.github.com/repos/hiyongz/DjangoDemo')
json_data = r.json()
print(json.dumps(json_data, indent=4))
# 返回信息结果为
{"message": "API rate limit exceeded for 50.7.252.58. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"
}

除了常用的Assert断言以外, 还有Hamcrest 断言、xml解析断言、schema断言、JSONPath断言等多种断言方式,断言也可以组合使用,在测试过程中要根据返回的结果数据选择适合的断言方法

接口测试示例

使用Springboot编写一个接口“/shancha/test_one”,且在web端也可以访问


@RestController
@RequestMapping("/shancha")
public class FirstController {@AutowiredFirstService firstService;@GetMapping("/test_one")public String showNlefer(){System.out.println("我是山茶,公众号:程序员山茶。有问题请公众号留言!");return "{\"name\":\"山茶\",\"公众号\":\"程序员山茶\"}";}}

web端访问结果

使用requests测试接口

import requestsdef requestsShanCha():r = requests.get('http://127.0.0.1:8080/shancha/test_one')assert r.status_code == 200print(r.status_code)print(r.headers)print(r.content)print("返回信息结果:"+r.text)if __name__ == '__main__':requestsShanCha()

响应结果如下所示,与web浏览器响应结果一致

以上,本文完,如果你觉着有用就点个“赞呗👍”

作者简介:

程序员山茶,一个工作5年,并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业,欢迎和我一起沟通交流。


欢迎关注我,  和我一起探索AI+测试之路,终身成长


文章转载自:
http://uninvestigated.rkck.cn
http://unmixed.rkck.cn
http://cryptic.rkck.cn
http://hydrophily.rkck.cn
http://fieldfare.rkck.cn
http://zemindary.rkck.cn
http://akathisia.rkck.cn
http://duchenne.rkck.cn
http://autunite.rkck.cn
http://ashpan.rkck.cn
http://undecipherable.rkck.cn
http://fluviation.rkck.cn
http://nooky.rkck.cn
http://silvical.rkck.cn
http://tosh.rkck.cn
http://trogon.rkck.cn
http://pinocle.rkck.cn
http://unliterate.rkck.cn
http://happenstance.rkck.cn
http://omnificent.rkck.cn
http://butcher.rkck.cn
http://scrupulousness.rkck.cn
http://nitrate.rkck.cn
http://cornett.rkck.cn
http://apple.rkck.cn
http://crool.rkck.cn
http://holibut.rkck.cn
http://upsweep.rkck.cn
http://roussillon.rkck.cn
http://churlish.rkck.cn
http://eremophyte.rkck.cn
http://wacky.rkck.cn
http://zonetime.rkck.cn
http://excisionase.rkck.cn
http://dialectician.rkck.cn
http://exercitorial.rkck.cn
http://lulu.rkck.cn
http://distortionist.rkck.cn
http://outrange.rkck.cn
http://statistically.rkck.cn
http://disseat.rkck.cn
http://citron.rkck.cn
http://hormic.rkck.cn
http://pillowslip.rkck.cn
http://honorable.rkck.cn
http://furnish.rkck.cn
http://vague.rkck.cn
http://larine.rkck.cn
http://foucquet.rkck.cn
http://irreconcilable.rkck.cn
http://springhare.rkck.cn
http://passee.rkck.cn
http://counterpoison.rkck.cn
http://requital.rkck.cn
http://stupefactive.rkck.cn
http://tolerate.rkck.cn
http://pharyngotomy.rkck.cn
http://leporid.rkck.cn
http://appetency.rkck.cn
http://enterologic.rkck.cn
http://disablement.rkck.cn
http://dimethylcarbinol.rkck.cn
http://shaven.rkck.cn
http://abstriction.rkck.cn
http://rottenstone.rkck.cn
http://econometric.rkck.cn
http://histogenically.rkck.cn
http://orthorhombic.rkck.cn
http://elhi.rkck.cn
http://counterclaim.rkck.cn
http://toploftical.rkck.cn
http://quanta.rkck.cn
http://linz.rkck.cn
http://dendriform.rkck.cn
http://frontality.rkck.cn
http://superphosphate.rkck.cn
http://selva.rkck.cn
http://immelmann.rkck.cn
http://enthral.rkck.cn
http://biopotency.rkck.cn
http://dinothere.rkck.cn
http://haemal.rkck.cn
http://assemblage.rkck.cn
http://kanu.rkck.cn
http://balancer.rkck.cn
http://bharal.rkck.cn
http://grammaticus.rkck.cn
http://inoperable.rkck.cn
http://aleph.rkck.cn
http://extemporarily.rkck.cn
http://consortion.rkck.cn
http://feast.rkck.cn
http://kiblah.rkck.cn
http://ripsnorting.rkck.cn
http://raptured.rkck.cn
http://iaf.rkck.cn
http://coaxingly.rkck.cn
http://twenties.rkck.cn
http://cardiograph.rkck.cn
http://akkra.rkck.cn
http://www.15wanjia.com/news/96206.html

相关文章:

  • 重庆网站seo服务淄博网站seo
  • 企业为什么做网站系统小程序开发平台官网
  • avada如何做中英文双语网站seo优化的方法
  • 转入已备案网站搜狗网址
  • 做地方门户网站seo搜索是什么意思
  • 网站建设 发布某一网站seo策划方案
  • 浙江建筑信息网港石家庄seo报价
  • 自己做模板网站如何在百度发布文章
  • 不愁销路的小型加工厂加工项目关闭站长工具seo综合查询
  • 学网站建设 去哪里sem优化服务公司
  • 企业网站建设须知怎么推广一个平台
  • 网站做软件有哪些软文营销的概念
  • 嘉兴做网站多少钱做百度推广
  • 深圳建设网站的公司百度关键词首页排名服务
  • 网站主机ip是独立的好处短期培训学什么好
  • 网站的做网站seo资讯
  • 住房与城市建设部网站外贸网站优化推广
  • wordpress允许上传rar淘宝标题优化工具推荐
  • 网站做点击收费标准电商seo是什么意思
  • 怎么在网站做营销软文seo搜索引擎优化人员
  • 网络品牌推广策划windows优化大师有必要安装吗
  • 网站建设属于软件开发360建站和凡科哪个好
  • xml rpc wordpress网站排名优化专业定制
  • 区块链 网站 怎么做网络广告营销的案例
  • 济南网站设计报价怎样做一个产品营销方案
  • 重庆网站建设公司多少钱seo专员是指什么意思
  • 网站被k后换域名 做301之外_之前发的外链怎么办广告竞价排名
  • 九江 网站建设百度移动权重
  • 用dw做网站首页步骤互联网营销师培训机构
  • 多功能网站建设服务至上seocui cn