通过UI自动化获取登录cookie,进行接口自动化测试

项目开展接口自动化,由于是sso单点登录,几番尝试使用接口登录获取token无果,决定使用UI自动化登录后获取登录token,方法如下:

 

 

 

 

 

代码实现如下: 

import time
from selenium import webdriver


class GetToken(object):
    def __init__(self):
        self.driver = webdriver.Chrome()

    def login(self):
        self.driver.get('url')
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)
        # 登录输入用户名,密码
        self.driver.find_element_by_id('username').send_keys('用户名')
        self.driver.find_element_by_id('password').send_keys('密码')
        self.driver.find_element_by_xpath('登录按钮').click()

        # 等待3秒,待session和token都成功返回并存到浏览器中
        time.sleep(3)
        data = self.driver.get_cookies()
        cookie_data = [item["name"] + "=" + item["value"] for item in data]
        cookie = ';'.join(item for item in cookie_data)
        # print(cookie)
        return cookie

    # 关闭浏览器
    def close_browser(self):
        self.driver.quit()


if __name__ == '__main__':
    gt = GetToken()
    gt.login()
    gt.close_browser()

 

posted @ 2020-09-22 20:47  Tester_Jhm  阅读(1975)  评论(0编辑  收藏  举报