马上就又到了程序员们躁动不安,蠢蠢欲动的季节~这不,金三银四已然到了家门口,元宵节一过后台就有不少人问我:
现在外边大厂面试都问啥
想去大厂又怕面试挂
面试应该怎么准备
测试开发前景如何
面试,一个程序员成长之路永恒绕不过的话题。每每到这个时期,不管当前有没有跳槽换工作需求的,都多少会跟着观望一下“外边的世界”~
当然外边的世界很精彩,但出来混,可不能没有一点准备,赤手空拳上阵。给大家分享一份免费的 测试工程师面试题,涵盖不少大厂高频必考点,需要的同学可免费领取。
不只是面试,了解市场需求,认识自己的问题,熟悉Python高频难点,巩固 Python相关知识...这份资料都可以帮助到你。
金三银四刚开始就拿到了蚂蚁的offer,这份阿里大牛总结的面试笔记,能掌握这份笔记的70%以上感觉就能拿大厂offer。
为了帮助更多的粉丝朋友们都拿到心仪的offer,小编在此把这份笔记分享出来
接上篇:
9.25 jmeter 如何去做 get 请求接口
1、把请求参数填入 URL 或者把参数填入到 parameter 中
9.26 meter 如何做 json 数据格式的接口
1、把参数编写到 body data 里面,用 json 格式编写
2、在 headers 头里面,定义数据格式为 json 格式
Content-Type application/json;charset=utf-8
9.27 jmeter 中 cookies 如何添加
添加 http cookies 管理器
9.28 jmeter 中如何添加 header 信息
添加 http
header 管理器
9.29 jmeter 中 webserver 中 soap 协议 xml 格式数据如何测试
1,数据格式编写在 body data 里面用 xml 数据格式保存
2,http header 里面数据格式为 xml
Content-Type
application/soap+xml;charset=utf-8
9.30 jmeter 中如何去连接数据库
1,测试计划中导入 mysq-connecti 的 jar 包
2,配置元件中添加 jdbc-connection 连接,配置连接参数
3,取样器中添加 jdbc-request57
9.31 jmeter 中 https 证书如何处理
jmeter-option 中-ssl 证书管理器中导入证书
9.32 http 如何进行代理录制接口
首先在 jmeter 中有一个非测试计划,添加一个 http 代理服务器,代理服务器的端口设置为 8888,
当然也可以选择一个没有使用过的端口就可以了,然后启动 http 代理服务器然后对于要录制 web 端
的接口需要在浏览器设置代理就可以录制,默认 ip 为 localhost 端口 8888
对于要录制手机端的接口
1.保证手机与电脑在同一个网络
2.设置手机端代理
默认 ip 为 pc 机器的 ip 地址,端口 8888
9.33 jmeter 如何做 post 请求格式接口
参数填入到 parameter 中
9.34 如何搭建 python+ requests 接口测试环境
1,安装 pycharm
2,安装 python 运行环境
3,安全 requests 包
4,pycharm 中导入 requests 包
9.35 requests 如果做 get 请求,数据保存格式哪二种
1,保存在 ur 里面键值对方式发送请求
2,保存在参数 params 里面
9.36 requests 如何做 post 请求接口
定义 URL,定义 data 数据,参数用字典格式保存
#表单格式数据请求
import requests
#方维的注册接口
url = "http://47.95.118.117/fanwe/indexphp?ctl=user&act=doregister"
data={‘user name’:’cxy0o3’,
‘mobile’:’18312345676’,58
‘user_pwd’:’cxy1234561’,
‘user_pwd confirm’:'cxy123456',
‘agreement’:’1’,
‘commit’:’注册’}
r=requests.post(url=url,data= data)
print(r.text)
9.37 requests 上传文件接口如何测试
url="http://106.12.126.197/fanwe/file.php"
data={
"upload_type":"0",
"localUrl":"E: \\fanwe.png",
"m":"File",
"a":"do_upload}
#文件上传功能,files 参数编写
files={"imgFile":(‘fanwe.png’, open(‘E:\\fanwe.png’,’rb’),image/png)}
#fes={‘文件参数的名称’:(文件名 open(E:\\fanwe.png:读的属性)文件的类型}
r=erequests.post(url=url,data=data,cookies=login(),files=files)
print (r.text,type(r.text))
9.38 有没有做过 https 接口,具体怎么做
https 请求时在 http 请求中多了 ssl 证书,对于 https 请求的接口,
Requests 可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。要想检查某个主机的
SSL 证书,你可以使用 veiy 参数
处理办法:
1、设置 verify= False,requests 请求忽略证书的校验,会有警告,提示
r=requests.get(https://www.baidu.com’,verify=false)
print (r.text)
2、在 verify 中设置证书的路径
requests.get(https://github.com’,verify=’/path/to/证书名字’)
3、 verify 默认值为 true,也可以指定一个本地证书用作客户端证书,可以是单个文件(包含密钥和
证书)或一个包含两个文件路径的元组:59
requests.get(‘https://kennethreitz.com',cert=(‘/path/server.crt',/path/key))
9.39 requests 中如何测试 json 数据的接口
定义参数 json
#json 格式数据请求
import requests
Requests 可以为 Https 请求验证 SSL 证书,就像 web 浏览器一样。要想检查某个主机的 ssl 证书,
你可以使用 verify 参数
处理办法:
1,设置 verify= False,requests 请求忽略证书的校验,会有警告,提示
r=requests.get("https:/www.baidu.com",verify=False)
print(r.text)
2,在 verify 中设置证书的路径
Requests.get(https:// github.com; verify=/atho/证书名字)
3,very 默认值为 true,也可以指定一个本地证书用作客户端证书,可以是单个文件(包含密钥和证
书)或一个包含两个文件路径的元组
requests.get(‘https://kennethreitz.com’,cert=(‘/path/server.crt',’/path/key’))
注册接口
import requests
Url="http://localhost:8000/register"
json={
"username":"Cxy002"
"Password":"12345"
}
r=requests.post(url=url,json=json)
print (r.text)
9.40 requests 中如何添加 cookies
定义参数为 cookies,用字典保存
在请求过程中添加 cookies 值
requests.post(url=url,data=data,headers=headers,cookies=cookies)
9.41 requests 中如何添加 headers 信息
定义参数为 headers,用字典保存
在请求过程中添加 headers 值
requests.post(urlurl,data= data,headers=headers,cookies=cookies)
9.42 requests 中 https 证书如何处理
https 请求时在 http 请求中多了 ssl 证书,对于 https 请求的接口
9.43 requests 中 sign 签名与 token 如何处理
Token 值
token 的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。
当用户第一次登录后,服务器生成一个 token 并将此 token 返回给客户端,以后客户端只需带上这
个 token 前来请求数据即可,无需再次带上用户名和密码。
简单 token 的组成;uid(用户唯一的身份标识、time 当前时间的时间戳、sign(签名,token 的前几位
以哈希算法压缩成的一定长度的十六进制字符串。为防止 token 泄露)
import requests
import re
url='http://loclhost:8000/login'
Data={
'Username':'cxy002'
'Password':'123456'
}
r=requests.post(url=url,data= data)
print (r.text,type(r.text))
rk=re.findall("token":"(.*?)","r.text")
print(rk)
url="http://localhost:8000/recharge"
data=(
money:10000
Serial_number: 22222
token: rk
p=requests. post(url=url, data= data)61
print(p.text)
sign 签名:也是一种安全校验
sign 的处理一个案例
post 请求 htps://{url 地址}/ index.php/Platen/Card/active
参数:
Hotel_store_id=0123456&
Pack_id=4&
phone=175861263288&
sign=5dc6331b07fc097d013410353740f8e8168c499a
签名算法:
1.将发送数据按照参数名 ASCLL 码从小到大排序(字典序),使用 URL 键值对的格式(如
key= value1&key2=vaue2...),得到 str,注意:sign 不参与签名。
2.在 str 后面拼接"&key= YpLdvl2L3Rc5yYX"其中 YpLdvl2L3Rc5yYX 为加密密钥
3.对字符串 str 进行 sha1 运算,得到签名 sign
def test_xielv():
url="https://{url 地址}/index.php/Platen/Card/active"
Json_v={
"Hotel_store_id":"0123456"
"pack_id":"4"
"phone":"18319011906"
}
#字典添加新的 key
Json_v["sign"]=sign_01(json_v)
# print (json_v)打印发送请求的 json 值
r=requests.post(url=url,json=json_v)
print (r.content.decode("unicode_escape"))
assert'{"code:1002msg:"ID 错误或找不到
data": "")==rcontent. decodeCunicode escape")
9.44 request 框架有哪些方法?
像用来发送请求的一般都是调用以下方法
reponse=requests.get()62
reponse=requests.post()
获取响应数据一般都是调用以下方法
reponse.status_code
reponse.reason
reponse.text
reponse.json()
reponse.headers
reponse.cookies