WebAPI接口的自动化测试2

接口认证:api

       服务器的接口须要经过一个验证机制,这个验证机制能够是session或token服务器

       以session为例。cookie

            session存储与服务器,一般用户登陆后,服务器会把配套的sessionid发送给客户端session

            客户端在下次请求服务器时会带上这个sessionid,至关于拿了入场券post

            服务器会验证这个入场券是否有效url

            验证经过后才会容许客户端去访问对应的接口内容对象

            以后客户端每发送一次请求都要带上sessionidtoken

            一样服务器每次都会验证其有效性接口

       一般http协议中,sessionid是放在cookies这个请求头里面字符串

如何获取sessionid:两种方法

       ① 经过登陆接口获取Set-Cookie请求头

            resp = requests.post(url, data=payload)     # 首先获取到响应对象resp

            cookie = resp.headers['Set-Cookie']      # 而后获取到请求头中Set-Cookie的值

            sessionid = cookie.split(';')[0].split('=')[1]     # 最后用字符串分割法获取sessionid

       ② 经过登陆接口返回的response对象直接获取

            resp = requests.post(url, data=payload)

            cookies = resp.cookies    # 直接获取到cookie信息

            sessionid = cookies['sessionid']   # 而后从cookie中取到sessionid的值

如何添加cookie方法:三种方法

       ① 直接添加到cookie请求头里

            h1 = {'Cookie': 'sessionid=imk4esz7jep90gcbt3oo790ex3srt5dc'}

            requests.get(url, headers=h1, params=payload)

       ② 直接告诉requests,让它帮我添加添加

           cookie = {'Cookie': 'sessionid=imk4esz7jep90gcbt3oo790ex3srt5dc'}

           requests.get(url, cookies=cookie, params=payload)

       ③ 登陆接口包含了cookies信息,能够直接获取

           payload = {'username': 'xxxx', 'password': 'xxxx'}

           resp1 = requests.post('http://localhost/api/mgr/loginReq', data=payload)   # 获取到响应对象resp1 里面包含了cookies信息

           resp2 = requests.get('http://localhost/api/mgr/sq_mgr/', cookies=resp1.cookies, params=payload)   # 在作另外一个接口请求时,直接获取登陆接口中的cookies信息

相关文章
相关标签/搜索