RobotFramework如何绕过滑块验证码

一般安全性比较高的网站在登录的时候都添加了滑块验证的校验,在使用RobotFramework测试这类网站的时候有什么有效的方法通过滑块验证呢?
通过添加cookie的方式绕过验证

  • 在python路径下的site-packages文件夹下新建一个测试库,库的名称为MyLibrary

RobotFramework如何绕过滑块验证码_第1张图片

  • 在MyLibrary文件下新建两个.py文件 getLibrary.py 和 init.py,分别添加以下内容
    RobotFramework如何绕过滑块验证码_第2张图片
    getLibrary.py
from selenium import webdriver


class NewLibrary:
    def skip_check(self, notify, Id):
        """通过添加cookie绕过滑块验证"""
        driver = webdriver.Chrome()
        base_url = "https://XXX.XXX.XXX/"    #需要访问的网站的域名
        driver.get(base_url)
        driver.implicitly_wait(20)
        driver.delete_all_cookies()
        driver.add_cookie({'name': 'notify', 'value': notify})  #使用add_cookie函数添加cookie,注意参数是字典类型
        driver.add_cookie({'name': 'Id', 'value': Id})

编写完成之后保存即可

init.py

from getLibrary import *

class MyLibrary(NewLibrary ):
ROBOT_LIBRARY_SCOPE = ‘GLOBAL’

保存即可

  • RobotFramework引入自定义的库
*** Settings ***
Resource    ../页面对象/登录页面.robot
Library    SeleniumLibrary  
Library    VcodeLibrary   #引入自定义的库


Test Setup    Open Browser    https://XXX.XXX.XXX/    Chrome    
*** Test Cases ***
用例1-登录成功
    skip_check    1    37      #调用自定义库中的函数

按照上述方式即可跳过登录时的滑块验证

你可能感兴趣的:(python工具类)