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()