本文主要是介绍【接口自动化】selenium库也有大用场(获取cookie),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
相信有些童鞋在做接口、或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的。
那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个“万能”值,那么你带着这个“万能”值在请求里,就可以畅通无阻了。
但是也不是开发都愿意干这样的事儿,而且很多测试童鞋脸皮也薄(O(∩_∩)O哈哈~),脸皮薄不提倡啊。那么就自己的事儿自己来吧。
既然是需要登录才可以请求,那我们就登录呗。咋登录呢?
selenium库用起来,然后用selenium获取浏览器cookie。下面demo一段登录操作,来登录被测试的系统。
-
from selenium import webdriver
-
driver = webdriver.Chrome()
-
driver.get("http://xxx.xx.com/xxx/login") #打开登录地址
-
driver.find_element_by_id("username").send_keys("xxx") #输入用户名
-
driver.find_element_by_id("password").send_keys("xxxx") #输入密码
-
driver.find_element_by_xpath("//button[.= '登录']").click() #点击登录
-
cookie = driver.get_cookies() #这里就是获取cookie
-
print(cookie)
让我们来康康到底拿到cookie了木有?
-
[
-
{
-
'domain': 'xxxx.xx.xxxx.com',
-
'httpOnly': True,
-
'name': 'SESSION',
-
'path': '/xxx/',
-
'secure': False,
-
'value': 'YjRjYzY1ODMtNjA1ZS00OWZmLWFmODQtZjhmY2ZjMmIxNzlj'
-
}
-
]
看下浏览器F12,找到cookie,比对一下
OK,就是这个值了,那么就可以带着这个值开开心心的测试接口啦。
接口自动化可以采用pytest单元测试框架+requests库,简单粗暴,sei用sei资道。
翠花,上demo
-
import requests
-
import pytest
-
HEADER = {
-
'Cookie': "SESSION=YjRjYzY1ODMtNjA1ZS00OWZmLWFmODQtZjhmY2ZjMmIxNzlj"
-
}
-
def test_01():
-
r = requests.get("http://xxxx/finance/detail" ,headers=HEADER)
-
result = r.json()
-
print(result)
-
if __name__ == '__main__':
-
pytest.main(['-s', 'demo1.py'])
看下打印出的请求结果:
请求结果
当然了,接口自动化测试别忘记加断言哦,demo里就不写了。总之就是活学活用。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
这篇关于【接口自动化】selenium库也有大用场(获取cookie)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!