安装 requests
pip install requests
换镜像源
-i http://pypi.douban.com/simple --trusted-host pypi.douban.com
接口请求方式
requests.request()
requests.get()
requests.post()
requests.put()
使用requests模块保持登录的方式
1.静态
a.放在headers
b.单独拿出来放在cookies字典里
2.动态
登录成功后利用.cookies方法获取cookie值,类型为cookieJar
其他模块使用时直接调用
3.使用session保持登录
使用session保持登录
session = requests.session()
login_url = "http://localhost/Agileone_1.2/index.php/common/login"
login_data = {"username":"admin",
"password":"admin",
"savelogin":"true"}
hearders = {"Content-Type": "application/x-www-form-urlencoded"}
res = session.post(login_url,data=login_data,hearders=hearders)
断言
相等断言
包含断言
真假断言
数据库断言 ---- 查询数据库,获取数据库的值,响应正文 == 查询结果
Json断言
Json.loads() #把json字符串转换为python类型,必须是双引号 " "
Json.dumps() #把python字符串转换为json类型
部分断言 ---- 选择必要的部分进行断言
时间 非空校验 str( )==" "
自增id 非空校验
数据库方法
def pymysql_connect(self,sql):
con = pymysql.connect("localhost","root","123456")
cur = con.cursor()
cur.execute(sql)
con.commit()
data = cur.fetchall()
cur.close()
con.close()
return data
调用数据库方法断言
sql = "select * from agileone.notice where noticeid = %s"%(content)
data = self.pymysql_connect(sql)
print(data)
if len(data) != 0:
actual_headline = data[0][1]
actual_scope = data[0][1]
if actual_headline == "1" and actual_scope == "1":
print("add case pass")
else:
print("add case fail")
else:
print("找不到这条记录")
Json断言
import json # 导包
ex_content = json.loads(res.read().decode())
sql = "select a.storesumid,a.goodsserial,a.barcode,b.goodsname,b.inputsize,b.unitprice,a.quantity,a.remained from milor.storesum as a,milor.goods as b where a.goodsserial=b.goodsserial and a.remained=0 group by a.storesumid"
ac_data = self.pymysql_connect(sql)
re = True
if len(ac_data) != 0:
for i in range(len(ac_data)):
if ac_data[i][0]==ex_content[i]["storesumid"] and ac_data[i][1]==ex_content[i]["goodsserial"] and ac_data[i][2]==ex_content[i]["barcode"]:
pass
else:
re = False
if re == False:
break
else:
print("找不到记录")