python接口测试多个参数怎么办_python接口测试之参数关联遇到的问题

利用博客园登陆保存草稿以及删除草稿进行参数关联练习

1、草稿保存成功之后无法获取到保存成功的草稿id

解决方案:保存之后利用sleep函数等待几秒之后

2、程序报如下错误:

raise TypeError(repr(o) + " is not JSON serializable")

TypeError: {'postId', '9167249'} is not JSON serializable

代码中post方法中必须传递的是json格式的参数

利用博客园登陆保存草稿以及删除草稿的源码如下:

# coding:utf-8

import requests

import logging

import re

import time

logging.captureWarnings(True)

# 先打开登录首页,获取部分cookie

url = "https://passport.cnblogs.com/user/signin"

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

}

#开启一个session会话

s = requests.session()

r = s.get(url=url,headers=headers,verify=False)

# print(s.cookies)

#创建一个cookie对象

c = requests.cookies.RequestsCookieJar()

#添加登陆中需要的两个cookie

c.set('.CNBlogsCookie', '需要抓取的内容') # 填上面抓包内容

c.set('.Cnblogs.AspNetCore.Cookies','需要抓取的内容') # 填上面抓包内容

c.set('AlwaysCreateItemsAsActive','True')

c.set('AdminCookieAlwaysExpandAdvanced',"True")

#更新保存的cookie信息

s.cookies.update(c)

# print(s.cookies)

# result1 = r.content

# result2 = r.json()

# print(result2)

# print(result1)

# 登陆成功之后保存编辑内容

r1 = s.get('https://i.cnblogs.com/EditPosts.aspx?opt=1',headers = headers,verify=False)

#保存草稿内容

print(r1.status_code)

url2 = 'https://i.cnblogs.com/EditPosts.aspx?opt=1'

body = {

'__VIEWSTATE':'',

'__VIEWSTATEGENERATOR':'FE27D343',

'Editor$Edit$txbTitle':'这是满满06',

'Editor$Edit$EditorBody':'

满满测试

',

'Editor$Edit$Advanced$ckbPublished':'on',

'Editor$Edit$Advanced$chkDisplayHomePage':'on',

'Editor$Edit$Advanced$chkComments':'on',

'Editor$Edit$Advanced$chkMainSyndication':'on',

'Editor$Edit$Advanced$txbEntryName':'',

'Editor$Edit$Advanced$txbExcerpt':'',

'Editor$Edit$Advanced$txbTag':'',

'Editor$Edit$Advanced$tbEnryPassword':'',

'Editor$Edit$lkbDraft':'存为草稿'

}

#获取保存草稿的postid

r2 = s.post(url2,data=body,verify=False)

time.sleep(2)

print(r2.url)

postid = re.findall(r"postid=(.+?)&",r2.url)

print(postid)

print(postid[0])

#删除草稿

url3 = 'https://i.cnblogs.com/post/delete'

json3 = {"postId":postid[0]}

r3 = s.post(url3,json=json3,verify=False)

time.sleep(2)

print(r3.json())

注意:

每一次草稿保存成功之后,需要更改草稿的标题才能成功进行下一次操作,否则会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值