python接口自动化(十六)--参数关联接口后传(详解)

news/2024/10/30 15:27:38/

简介

  大家对前边的自动化新建任务之后,接着对这个新建任务操作了解之后,希望带小伙伴进一步巩固胜利的果实,夯实基础。因此再在沙场实例演练一下博客园的相关接口。我们用自动化发随笔之后,要想接着对这篇随笔操作,不用说就需

要用参数关联了,发随笔之后会有一个随笔的 id,获取到这个 id,继续操作传这个随笔 id 就可以了(博客园的登录机制已经变了,不能用账号和密码登录了,这里用 cookie 登录)

大致流程步骤:web界面操作登录抓包查看cookie—>代码模拟cookie登录—>web界面操作新建随笔和保存随笔—>抓包查看新建随笔和保存随笔的url和参数等—>代码模拟新建随笔并保存编辑内容—>web界面操作删除随笔—>抓取删除操作请求—>提取参数—>传参—>代码实现。

如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386     

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

一、删除随笔

1、我们前面讲过登录后新建随笔和保存随笔后,不记得可以点击传送门那可以继续接着操作:删除刚才新建的随笔

 

2、用fiddler抓包,抓到删除新建随笔的请求,从抓包结果可以看出,传的json参数是postId

3.这个postId哪里来的呢?可以看上个请求的url地址

4、也就是说保存草稿箱成功之后,重定向一个 url 地址,里面带有 postId 这个参数。那我们想办法将这个参数提取出来就可以了

二、提取参数

1、我们需要的参数 postId 是在保存成功后 url 地址,这时候从 url 地址提出对应的参数值就行了,先获取保存成功后 url

2、通过正则表达式从保存的url提取需要的字符串,这个参数值前面(postid=)和后面(&)字符串都是固定的

3、这里正则提出来的是 list 类型,取第一个值就可以是字符串了(注意:每次保存需要修改内容,不能重复)

三、传参

1、删除草稿箱的 json 参数传上面取到的参数:{"postId": postid[0]}

2、json 数据类型 post 里面填 json 就行,会自动转 json

3、接着前面的保存随笔的操作,就可以删除成功了

注意:同理和jenkins一样,如果想看清楚,可以在删除新建随笔出打断点,看到新建的随笔后,再次执行下边的代码 看看是不是可以删掉新建随笔

四、参考代码

 1 # coding:utf-82 import requests3 # 先打开登录首页,获取部分cookie4 url = "https://passport.cnblogs.com/user/signin"5 headers = {6             "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"7            }  # get方法其它加个ser-Agent就可以了8 s = requests.session()9 r = s.get(url, headers=headers,verify=False)
10 print (s.cookies)
11 # 添加登录需要的两个cookie
12 c = requests.cookies.RequestsCookieJar()
13 c.set('.CNBlogsCookie', 'XXX')  # 填上面抓包内容
14 c.set('.Cnblogs.AspNetCore.Cookies','XXX')  # 填上面抓包内容
15 c.set('AlwaysCreateItemsAsActive',"True")
16 c.set('AdminCookieAlwaysExpandAdvanced',"True")
17 s.cookies.update(c)
18 print (s.cookies)
19 # 登录成功后保存编辑内容
20 url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"
21 body = {"__VIEWSTATE": "",
22         "__VIEWSTATEGENERATOR":"FE27D343",
23         "Editor$Edit$txbTitle":"这是绕过登录的标题:北京-宏哥",
24         "Editor$Edit$EditorBody":"<p>这里是中文内容:http://www.cnblogs.com/duhong/</p>",
25         "Editor$Edit$Advanced$ckbPublished":"on",
26         "Editor$Edit$Advanced$chkDisplayHomePage":"on",
27         "Editor$Edit$Advanced$chkComments":"on",
28         "Editor$Edit$Advanced$chkMainSyndication":"on",
29         "Editor$Edit$lkbDraft":"存为草稿",
30          }
31 r2 = s.post(url2, data=body, verify=False)
32 #print (r.content.decode('utf-8'))
33 
34 # 第三步:正则提取需要的参数值
35 import re
36 postid = re.findall(r"postid=(.+?)&", r2.url)
37 print(type(postid))
38 print (postid) # 这里是 list
39 # 提取为字符串
40 print (postid[0])
41 # 第四步:删除草稿箱
42 url3 = "https://i.cnblogs.com/post/delete"
43 json3 = {"postId": postid[0]}
44 r3 = s.post(url3, json=json3, verify=False)
45 print (r3.json())

五、小结

1、好了,参数关联接口就是这么简单,相信各位小伙伴下回遇到此种类似的问题,不会慌了,应该是十拿九稳的把它KO掉。

2、有兴趣的自己可以向上一篇一样,自己练习一下打断点,自己可以体验一下其中的乐趣和神奇。

最后欢迎各位小伙伴探讨和留言!!!


http://www.ppmy.cn/news/747561.html

相关文章

《Redis 核心技术与实战》课程学习笔记(四)

Redis 持久化机制 AOF日志&#xff1a;宕机了&#xff0c;Redis 如何避免数据丢失&#xff1f; 一旦服务器宕机&#xff0c;内存中的数据将全部丢失。目前&#xff0c;Redis 的持久化主要有两大机制&#xff0c;即 AOF 日志和 RDB 快照。 AOF 日志是如何实现的&#xff1f; …

新后缀supporthelpgood勒索病毒出现 解密sql文件 恢复成功mdf

新后缀supporthelpgood勒索病毒出现&#xff0c;这种病毒类似于常见的病毒后缀AOL/auchentoshan/VC/ciphered/scaletto危害广请大家注意防范上海某公司中了后缀是supporthelpgood的勒索病毒&#xff0c;how_to_open_files.html&#xff0c;中病毒后&#xff0c;公司财务系统崩溃…

如何恢复supporthelpgood勒索病毒how_to_back_files.html成功处理

后缀.supporthelpgood&#xff0c;.Scaletto&#xff0c;.COLORIT勒索病毒出现&#xff0c;该恶意软件使用AES和RSA算法的组合来加密数据并添加文件扩展名。但是&#xff0c;几乎每个月都会出现新版本&#xff0c;此时病毒会附加以下扩展名&#xff1a;.COLORIT&#xff0c;.sc…

中了敲诈者病毒,文件恢复有可能吗?你长着一张被勒索木马敲诈的脸?

导语:勒索木马在天朝已经屡见不鲜,为了让更多无辜读者完美躲避勒索木马的袭击,360反病毒小组负责人、拥有长达9年恶意软件查杀经验的王亮来解密勒索木马。

最新变体后缀YOUR_LAST_CHANCE勒索病毒分析处理数据恢复,扩展名firex3m系列

什么是.YOUR_LAST_CHANCE勒索病毒&#xff1f;什么是YOUR_LAST_CHANCE勒索病毒&#xff1f;是否可以恢复.YOUR_LAST_CHANCE加密的文件&#xff1f; 后缀.YOUR_LAST_CHANCE是最新勒索病毒。它通过将.YOUR_LAST_CHANCE扩展名附加到文件来加密文件&#xff0c;使其无法访问。所有加…

.Lucky勒索病毒删除+.Lucky后缀文件恢复工具

本文解释了.lucky勒索感染病毒时会出现什么问题。它还提供了有关如何删除此勒索软件并可能还原.lucky文件的说明。 最近发现了一种新的勒索病毒。这次威胁附加扩展名.lucky后缀&#xff0c;这就是为什么它被称为.lucky勒索病毒。作为典型的数据锁定器勒索软件&#xff0c;Dharm…

GandCrab V5.1勒索病毒解密删除+尝试和恢复数据,随机字母文件后缀

文章解释了什么是GANDCRAB 5.1勒索软件病毒以及受害者如何在不损坏加密文件的情况下将其从计算机中删除。 GANDCRAB 5.1勒索软件与该病毒的其他版本类似&#xff0c;该恶意软件旨在加密文件&#xff0c;然后将其作为人质&#xff0c;以换取赎金支付。该病毒的主要目的是让受害者…

中国抓到了勒索病毒作者,上市公司停工3天

这事真的&#xff0c;原因江苏警方来北京找华盟总部找到我了&#xff0c;原因我们中过这个病毒给他交过比特币赎金&#xff0c;找我记录一下&#xff0c;准备退款。 随着国外勒索病毒犯罪的兴起&#xff0c;国内此类案件也发生的越来越多&#xff0c;一些企业、金融机构甚至政…