赞
踩
相信有些童鞋在做接口、或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的。
那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个“万能”值,那么你带着这个“万能”值在请求里,就可以畅通无阻了。
但是也不是开发都愿意干这样的事儿,而且很多测试童鞋脸皮也薄(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里就不写了。总之就是活学活用。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。