Python教程

python_selenium切换不同角色完成web端登录

本文主要是介绍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
 
这篇关于python_selenium切换不同角色完成web端登录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!