python_selenium切换不同角色完成web端登录
做UI自动化测试时,需要登录不同角色来审批流程,由于项目登录只能通过移动端扫码,
或是接收真实手机验证码才能登,给自动化流程带来不便,后来想到可以使用接口获取token,
再将token写入到浏览器刷新,经过实验成功实现了
以下2个函数封装在2个模块中
import jsonpath
import requests
from conf import Setting
from selenium import webdriver
class HandleData():
def get_token(self,user_id):
""" 请求接口,获取token """
url = Setting.okr_token_url
headers = {"Content-Type": "application/json"}
data = {"userId": user_id}
res = requests.post(url=url, json=data, headers=headers).json()
# 将token保存为类属性
HandleData.token_value = jsonpath.jsonpath(res, "$..data")[0]
def open_chrome(self):
""" 给浏览器添加token,打开浏览器 """
self.driver.get(Setting.h5_url)
self.driver.delete_all_cookies()
token = {'name': 'X-Auth-Token', 'value':getattr(HandleData,'token_value')}
while True:
#添加token到浏览器中
self.driver.add_cookie(token)
self.driver.refresh()
time.sleep(1)
token_v = self.driver.get_cookie('X-Auth-Token')
# 添加成功,循环结束
if token_v != None:
# print('token值为:{}'.format(token_v))
break

浙公网安备 33010602011771号