dcsxlh

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
import requests
# 在dos命令下安装:requests  pip install requests
# 或者在pycharm中设置里面project中安装
# (pip命令版本不要高于10,会报main函数作用的错误)
# 接口的测试流程:
# 问开发同事要接口文档,或者直接用浏览器或者抓包工具来抓接口
# 根据文档或者直接抓到的接口来构建请求
# 构建完请求后点击运行在查看响应体中的值来判断接口是否OK
# from selenium import webdriver
# selenium-->ui自动化有那几种方法
# import requests
# requests -->接口的urlib urlib2 urlib3 也可以来做接口
# 1、组建一个接口请求:
# import requests #导入接口库
# rep =requests.get()
# rep =requests.post()
# rep =requests.request()
# session =requests.Session() #保持会话上下接口的关联
# session-->对象  对象名称和变量名称可以自定义
# session.get()
# session.post()
# 2、组建一个接口需要哪些参数?????
# url地址、类型headers、入参、请求发方法get post
# import requests
# # 1、登录接口的url地址
# loginjump_url='http://192.168.254.129:8080/cms/manage/loginJump.do'
# #2、登录接口的类型
# loginjump_haaders={'Content-Type': 'application/x-www-form-urlencoded'}
# # 3、登录接口的入参
# loginjump_data={'userAccount': 'admin',
#                 'loginPwd': 123456}
# # 4、组建一个接口的请求post请求
# rep =requests.post(url=loginjump_url,headers=loginjump_haaders
#                    ,data=loginjump_data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
# print(type(rep.text)) #str
# print(type(rep))
# # 在Python2中类型为:编码格式类型  pyhton3为str字符串类型
# # 如要去对当前的接口进行断言:需要将返回值转换成为json格式
# js =rep.json() #将rep转换成为js格式
# # 第一种断言方法:if判断
# if js['msg'] =='登录成功!':
#     print('接口测试OK')
# else:
#     print('接口测试失败')
# # 第二种断言方法:assertPython中自带的方法
# assert js['msg']=='登录成功!'
# print(rep.status_code) #打印状态码 200
# print(rep.cookies) #打印身份cookies
# print(rep.headers) #打印请求头中的信息
 
# import requests
# # 构建一个get请求:
# url='http://129.226.122.199:8080//cms/manage/loginJump.do'
# data={'userAccount':'admin','loginPwd':123456}
# # get请求可以不要类型
# # 在工具中post请求的时候会有一个类型选择
# rep =requests.get(url=url,params=data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
# js=rep.json()#转换成为js格式,然后在通过断言方法来实现断言
# print(rep.headers) #请求头
# print(rep.cookies)#cookie
# print(rep.status_code)# 200返回状态
 
# import requests
# # # 第二种请求方式
# url='http://129.226.122.199:8080/cms/manage/loginJump.do'
# data={'userAccount':'admin','loginPwd':123456}
# rep=requests.request(method='get',url=url,params=data)
# print(rep) #<Response [200]>
# print(rep.text) #{"code":"200","msg":"登录成功!","model":{}}
 
# import requests
# sesson=requests.Session() #创建一个sesson对象保持会话
# class Cms_api:
#     def __init__(self):
#         pass
#     def log_jump(self):#登录接口
#         logjump_url='http://129.226.122.199:8080/cms/manage/loginJump.do'
#         logjump_hes={'Content-Type': 'application/x-www-form-urlencoded'}
#         logjump_data={'userAccount': 'admin',
#                         'loginPwd': 123456}
#         rep=requests.post(logjump_url,data=logjump_data,json=logjump_hes)
#         rep=sesson.post(logjump_url,logjump_data,logjump_hes)
#         print(rep.text)
#     def User_list(self):#用户管理接口
#         userlist_url='http://192.168.254.129:8080/cms/manage/queryUserList.do'
#         userlist_hes={'Content-Type': 'application/x-www-form-urlencoded'}
#         userlist_data={'startCreateDate':'',
#                         'endCreateDate': '',
#                         'searchValue': '',
#                         'page': 1}
#         # rep=requests.post(userlist_url,userlist_hes,userlist_data)
#         rep=sesson.post(userlist_url,userlist_data,userlist_hes)
#         print(rep.text)
# if __name__ == '__main__':
#     Run =Cms_api()# 创建一个对象
#     Run.log_jump()#登录接口
#     Run.User_list()#用户管理接口
 
 
# import requests
# class Cms_api:
#     def __init__(self,url,data,headers):
#         self.url=url
#         self.data=data
#         self.headers=headers
#     def fun(self):
#         rep =requests.post(url=self.url,data=self.data,json=self.headers)
#         js=rep.json()  #为了断言需要转换格式
#         return js
#     def fun1(self):
#         a=self.fun() #方法传递
#         assert a['msg']=="登录成功!" #断言方法
#         if a['msg']=="登录成功!": #断言方法
#             print('OK')
#         else:
#             print('NO')
# if __name__ == '__main__':
#     Cms =Cms_api(url='http://129.226.122.199:8080/cms/manage/loginJump.do',
#                  data={'userAccount': 'admin','loginPwd': 123456},
#                  headers={'Content-Type': 'application/x-www-form-urlencoded'})
#     Cms.fun1()
 
 
# 1、登录接口
# 2、用户管理接口
# 3、新增用户接口
# 4、修改密码接口
# 把省份接口当做城市接口的入参来调用
# import requests
# import re
# class C:
#     def sf(self): #省份接口
#         Province_url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince'
#         Province_headers={'Content-Type': 'application/x-www-form-urlencoded'}
#         rep =requests.post(url=Province_url,json=Province_headers)
#         # print(rep.text)
#         a =re.findall('<string>(.+?)</string>',rep.text)
#         return a
#
#     def cs(self): #城市接口
#         c=self.sf() #省份接口
#         portCity_url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity'
#         portCity_data={'byProvinceName':c[16]}
#         portCity_headers={'Content-Type': 'application/x-www-form-urlencoded'}
#         rep =requests.post(url=portCity_url,data=portCity_data,json=portCity_headers)
#         print(rep.text)
# if __name__ == '__main__':
#     c=C()
#     # c.sf()
#     c.cs()
 
# 1、登录接口
# 2、用户管理接口
# 3、新增用户接口
# 4、修改密码接口
# 封装在单元测试框架中,生成测试报告
 
 
# import requests #导入接口库
# session =requests.Session() #创建一个session对象保持上下接口会话
# class Cms: #定义一个类
#     def __init__(self):
#         pass
#     def log_jump(self): #组建一个登录接口
#         log_url='http://192.168.254.129:8080/cms/manage/loginJump.do' #url地址
#         log_data={'userAccount': 'admin','loginPwd': 123456} #入参
#         log_headers={'Content-Type': 'application/x-www-form-urlencoded'} #内容类型
#         rep=session.post(url=log_url,data=log_data,json=log_headers) #构建一个post请求
#         print(rep.text) #打印结果{"code":"200","msg":"登录成功!","model":{}}
#     def user_list(self): #组建一个用户管理接口
#         list_url='http://192.168.254.129:8080/cms/manage/queryUserList.do' #url 地址
#         list_data={'startCreateDate':'' ,'endCreateDate':'', 'searchValue': '','page': 1} #入参
#         list_headers={'Content-Type': 'application/x-www-form-urlencoded'} #内容类型
#         rep=session.post(url=list_url,data=list_data,json=list_headers)#构建一个post请求
#         print(rep.text) #打印结果
#     def list_u(self): #组建一个用户查询接口
#         u_url='http://192.168.254.129:8080/cms/manage/queryUserList.do' #url地址
#         u_data={'startCreateDate':'', 'endCreateDate':'', 'searchValue': 'ZSAN','page': 1} #入参
#         u_headers={'Content-Type': 'application/x-www-form-urlencoded'} #类型类型
#         rep=session.post(url=u_url,data=u_data,json=u_headers) #构建一个post请求
#         print(rep.text) #打印结果 {"code":"200","msg":"查询用户成功!","model":{"totalRow":0,"userList":[],"pages":0}}
# if __name__ == '__main__':
#     ru=Cms() #创建一个类
#     ru.log_jump() #类调用登录接口
#     ru.user_list() #类调用用户管理接口
#     ru.list_u()#类调用用户查询接口
 
# 关联接口处理
 
import requests
class Cms_api:
    def log_jump(self):#登录接口
        log_url='http://192.168.254.129:8080/cms/manage/loginJump.do'
        log_data={'userAccount': 'admin','loginPwd': 123456}
        log_hes={'Content-Type': 'application/x-www-form-urlencoded'}
        rep =requests.post(url=log_url,data=log_data,json=log_hes)
        # rep=session.post()
        # print(rep.text) #打印结果文本
        # print(rep.cookies)#<RequestsCookieJar[<Cookie JSESSIONID=0F2A8D997904C468539241ED39A36444 for 192.168.254.129/cms/>]>
        self.Cookie=str(rep.cookies).split(' ')[1]
        # 通过cookie进行关联
        # print(self.Cookie)
        # # print(type(Cookie)) #<class 'str'> #字符串
        # print(Cookie)#['<RequestsCookieJar[<Cookie', 'JSESSIONID=FE86A4F77A8F4C2C345567C044B0CDE9', 'for', '192.168.254.129/cms/>]>']
        # print(type(Cookie)) #<class 'list'> 列表
        # print(Cookie) #JSESSIONID=E208098EA86B180C9FDD3D5D8D055A97
    def uer_list(self): #用户管理接口
        list_url='http://192.168.254.129:8080/cms/manage/queryUserList.do'
        list_data={'startCreateDate':'' ,'endCreateDate': '','searchValue': '','page': 1}
        list_hed={'Cookie':self.Cookie,'Content-Type': 'application/x-www-form-urlencoded'}
        rep=requests.post(url=list_url,data=list_data,json=list_hed)
        # rep=session.post()
        print(rep.text)
if __name__ == '__main__':
    U=Cms_api()
    U.log_jump()
    U.uer_list()

  

posted on   多测师_肖sir  阅读(197)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
 
点击右上角即可分享
微信分享提示