300大写怎么写,400元大写怎么写
以绵薄之力助力每一位创业者
用专业让品牌深入人心
电话:13877120151
文章目录:
300大写怎么写
应该正确为叁佰元整。
400元大写怎么写
400元大写为肆佰元整。
1234567810大写怎么写?
123
800大写怎么写
800元的大写为:
捌佰元。
或者捌佰元整。
python+requests+pytest接口自动化介绍
来源:https://www.jianshu.com/p/fa1d67ba8d68
发送get请求
导包
importrequests
定义一个url
url=http://xxxxxxx
传递参数
payload={\head\:{\accessToken\:\\,\lastnotice\:0,\msgid\:\\},\body\:{\user_name\:\super_admin\,\password\:\b50c34503a97e7d0d44c38f72d2e91ad\,\role_type\:1}}
headers={
Content-Type:text/plain,
Cookie:akpsysessionid=bafc0ad457d5a99f3a4e53a1d4b32519
}
发送get请求
r=requests.geturl=url,headers=headers,data=payload
打印结果
printr.text
解码
printr.encoding
printr.text.encodeutf-8.decodeunicode_escape先把返回的结果转换成utf-8,再去解码成中文的编码
发送post请求
导包
importrequests
定义一个url
url=http://xxxxxxx
传递参数
payload={\head\:{\accessToken\:\\,\lastnotice\:0,\msgid\:\\},\body\:{\user_name\:\super_admin\,\password\:\b50c34503a97e7d0d44c38f72d2e91ad\,\role_type\:1}}
headers={
Content-Type:text/plain,
Cookie:akpsysessionid=bafc0ad457d5a99f3a4e53a1d4b32519
}
发送post请求
r=requests.posturl=url,headers=headers,data=payload
打印结果
printr.text
发送https请求
importrequests
url=https://www.ctrip.com/
第一种解决方案,发送请求的时候忽略证书,证书的参数verify用的比较多
r=requests.posturl=url,verify=Falseverify参数默认为True,值为False,表示忽略证书
第二张解决方案,verify里面添加证书的路径
r=requests.posturl=url,verify=证书的路径verify参数默认为True,值为False,表示忽略证书
printr.text
文件上传
importrequests
file={
filename:open文件名称,rb
}
response=requests.post网址,file
printresponse.text
文件下载
小文件下载
importrequests
r=requests.gethttps://img.sitven.cn/Tencent_blog_detail.jpg
withopenrD:\a.jpg,wbasf:
f.writer.content
大文件下载
importrequests
deftest_downloadsurl,file:
s=requests.session
r=s.geturl,stream=True,verify=False
withopenfile,wbasf:
forchunkinr.iter_contentchunk_size=512:
f.writechunk
if__name__==__main__:
url=https://www.url.com/test/export
file=D:\\a.xlsx
test_downloadsurl=url,file=file
转载至:https://blog.csdn.net/weixin_43507959/article/details/107326912
timeout超时
导包
importrequests
循环10次
foriinrange0,10:
try:
url=http://xxxxxxxxxxxxxxxx
data={
head:{lastnotice:0,msgid:,accessToken:89a08bff-15d7-4d7a-9967-0b5f4fb699ce},
body:{clinicid:978f661e-1782-43bd-8675-b0ff1138ab7c,deptid:09b8515b-b01b-4771-9356-aed6b5aa01bf,doctorid:65ac0251-10ff-473a-af8a-20e8969176f7,registtype:0,card_num:,bcc334:,patientopt:1,bkc368:1,patient:{cardid:,medicalcardid:,label:,sourcetype:1,nationid:01,maritalstatus:0,address:,company:,jobname:,email:,remark:,bcc334:,name:11,gender:1,phone:,birthdate:2022-03-23,patienttype:1,szsbcardid:}}
}
发送post请求,超时时间0.03s
r=requests.posturl=url,json=data,timeout=0.03
printr.text
printr.cookies
except:
printerror
可参考:https://blog.csdn.net/weixin_44350337/article/details/99655387
鉴权
7.1auth参数鉴权
importrequests
url=http://192.168.1.1
headers={}有的不带头也能请求到不带头可以忽略这行和headers=headers,这两处
r=requests.geturl,auth=admin,123456,headers=headers,timeout=10
printr.text
7.2session操作
实例化session
session=requests.session
使用session发起请求
response=session.posturl,headers=req_header,data=form_data
7.3token操作
importrequests
url=http://xxxxxxxxxxxxxxx
json={
head:{accessToken:,lastnotice:0,msgid:},
body:{username:15623720880,password:48028d2558577c526a017883211b4066,forceLogin:0}
}
r=requests.posturl=url,json=json
printr.text
printr.cookies
登录成功后返回token,带入下一个接口
foriinrange0,1:
try:
url=xxxxxxxxxxxxxxxxxx
data={
head:{lastnotice:0,msgid:,accessToken:89a08bff-15d7-4d7a-9967-0b5f4fb699ce},
body:{clinicid:978f661e-1782-43bd-8675-b0ff1138ab7c,deptid:09b8515b-b01b-4771-9356-aed6b5aa01bf,doctorid:65ac0251-10ff-473a-af8a-20e8969176f7,registtype:0,card_num:,bcc334:,patientopt:1,bkc368:1,patient:{cardid:,medicalcardid:,label:,sourcetype:1,nationid:01,maritalstatus:0,address:,company:,jobname:,email:,remark:,bcc334:,name:11,gender:1,phone:,birthdate:2022-03-23,patienttype:1,szsbcardid:}}
}
r=requests.posturl=url,json=data,timeout=0.09
printr.text
printr.cookies
except:
printerror
7.4sign签名
appid:wxd930ea5d5a258f4f
mch_id:10000100
device_info:1000
body:test
nonce_str:ibuaiVcKdpRxkhJA
importhashlib
需要加密的字符串
stringA=appid=wxd930ea5d5a258f4famp;body=testamp;device_info=1000amp;mch_id=10000100amp;nonce_str=ibuaiVcKdpRxkhJA;
构建一个对象为md
md=hashlib.md5
对stringA字符串进行编码
md.updatestringA.encode
生成后的加密值
AES=md.hexdigest
把加密的结果,小写转大写upper函数
AES=AES.upper
printAES
参考微信支付:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
自动化模块划分
config配置文件(pythonpackage)directory和pythonpackage大同小异
common公共的方法(pythonpackage)
testdata测试数据(pythonpackage)
test_case测试用例(pythonpackage)
report报告(directory)
run_case测试执行(pythonpackage)
log日志
8.1config配置文件
defserver_ip:
ait_ip=开发环境的服务器ip
sit_ip=测试环境的服务器ip
:return:返回不同服务器的地址
server_add={
dev_ip:http://his.xxxxxxxxxxx.com,
sit_ip:http://his.xxxxxxxxxxxx.comm
}
returnserver_add[dev_ip]
------------------------------------------------------------------------------------
defsql_conf:
host数据库ip
user数据库用户名
password数据库密码
database:连接数据库名
port数据库端口
chrset数据库字符集中文utf-8
:return:
host=localhost
user=root
password=123456
database=mysql
port=3306
charset=utf8这用utf8,utf-8会报错
returnhost,user,password,database,port,charset
8.2common公共的方法
封装一个读取Excel表格数据的函数
对Excel表格数据的读取需要用到一个库——xlrd库
importxlrd
defget_excel_valuei:
读取表中一行的数据
:return:返回2,3行数据
filename=r../testdata/jiekou.xls文件要用相对路径
book=xlrd.open_workbookfilename打开一个工作薄,不需要手动进行关闭
sheet=book.sheet_by_nameSheet1根据工作表的名字,获取一个工作表对象
sheet=book.sheet_by_index0获取一个工作表,以index的方式,这里是获取第1个工作表
returnsheet.cell_valuei,1,sheet.cell_valuei,2
printsheet.nrows打印所有行
printsheet.ncols打印所有列
printsheet.row_values0打印第一行
printsheet.col_values0打印第一列
printsheet.cell_value0,1打印第一行,第二列
foriinrange1,sheet.nrows:
printsheet.cell_valuei,1,sheet.cell_valuei,2打印单元格[所有数据]的值
str=sheet.cell_valuei,1,sheet.cell_valuei,2
printstr
foriinrange1,sheet.nrows:
forjinrange0,sheet.ncols:
printsheet.cell_valuei,j打印单元格[i,j]的值
---------------------------------------------------------------------------------------------
importpymysql
fromconfig.sql_confimport*
defget_sqlsql:
:paramsql:运行查询的sql语句
:return:数据库查询结果
建立一个连接对象
host,user,password,database,port,charset=sql_conf
db=pymysql.connecthost=host,user=user,password=password,database=database,port=port,charset=charset
建立一个游标
cursor=db.cursor
执行sql语句
cursor.executesql
把sql运行的数据保存在data变量里面
data=cursor.fetchall获取查询出的所有的值
cursor.close关闭游标
db.close关闭数据库连接
returndata
printget_sqlSELECThelp_topic_idFROMhelp_topicWHEREName=MOD执行sql语句
printtypeget_sqlSELECThelp_topic_idFROMhelp_topicWHEREName=MOD
8.3estdata测试数据
主要存放xls,txt,csv测试数据
8.4test_case测试用例
fromcommon.get_mysqlimportget_sql
fromconfig.cofimportserver_ip
fromcommon.get_excelimport*
fromconfig.sql_confimport*
importrequests
user_id=get_sqlSELECThelp_topic_idFROMhelp_topicWHEREName=MOD提取数据库数据
printuser_id打印结果
assertget_sqlSELECThelp_topic_idFROMhelp_topicWHEREName=MOD断言数据库的数据是否存在
deftest_aokao_login:
url=server_ip+/service/user/login
username,password=get_excel_value1读取文件第二行数据
json={
head:{accessToken:,lastnotice:0,msgid:},
body:{username:username,password:password,forceLogin:0}
}
usernamepassword=get_excel_value4[0]读取文件第二行数据
printtypeusernamepassword
把str类型转为字典格式eval函数
json=evalusernamepassword
r=requests.posturl=url,json=json
printr.text
assertr.status_code==200断言状态码是否等于200
assertaccessToken:89a08bff-15d7-4d7a-9967-0b5f4fb699ce,inr.text断言返回信息是否包含accesstoken
deftest_aokao_registadd:
url=server_ip+/service/registration/registadd
data={
head:{lastnotice:0,msgid:,accessToken:89a08bff-15d7-4d7a-9967-0b5f4fb699ce},
body:{clinicid:978f661e-1782-43bd-8675-b0ff1138ab7c,deptid:09b8515b-b01b-4771-9356-aed6b5aa01bf,
doctorid:65ac0251-10ff-473a-af8a-20e8969176f7,registtype:0,card_num:,bcc334:,
patientopt:1,bkc368:1,
patient:{cardid:,medicalcardid:,label:,sourcetype:1,nationid:01,
maritalstatus:0,address:,company:,jobname:,email:,
remark:,bcc334:,name:11,gender:1,phone:,
birthdate:2022-03-23,patienttype:1,szsbcardid:}}
}
r=requests.posturl=url,json=data,timeout=0.09
printr.text
printr.cookies
assertr.status_code==200断言状态码是否等于200
8.5report报告
主要存放html,xml报告
8.6run_case测试执行
importpytest
测试文件以test_开头,(以—_test结尾也可以)
测试类以Test开头,并且不能带有init方法
测试函数以test_开头
断言使用基本的assert即可
如何去运行测试用例,_test开头的函数就可以,判断用例运行是否成功,assert断言
if__name__==__main__:
单个文件运行,运行添加,对应的文件路径,路径要用相对路径
pytest.main[../test_case//test_case_01.py]
多个文件运行,运行添加多个对应的文件路径,列表的形式,去添加多个文件的路径
pytest.main[../test_case/test_fore.py,../test_case/Dynamiccorrelation_token.py]
运行整个目录,添加目录的路径
pytest.main[../test_case/,--html=../report/report.html,--junitxml=../report/report.xml]
pytest生成报告:
1、生成html报告
--html=../report/report.html
2、生成xml报告
--junitxml=../report/report.xml
(完)
微软于年初推出了自己的Python教程,我们将其汉化提供给大家,欢迎大家收藏关注哦~(已经汉化完成的20集,我们日更1集,未完成部分我们尽快更新)
100大写怎么写
服务价目表
(本站部分图文来自网络,如有侵权核实后立即删除。微信号:tigerok )