項目開展接口自動化,由於是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('http://122.224.230.26:20054/login') 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()