一般安全性比较高的网站在登录的时候都添加了滑块验证的校验,在使用RobotFramework测试这类网站的时候有什么有效的方法通过滑块验证呢?
通过添加cookie的方式绕过验证
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’
保存即可
*** Settings ***
Resource ../页面对象/登录页面.robot
Library SeleniumLibrary
Library VcodeLibrary #引入自定义的库
Test Setup Open Browser https://XXX.XXX.XXX/ Chrome
*** Test Cases ***
用例1-登录成功
skip_check 1 37 #调用自定义库中的函数
按照上述方式即可跳过登录时的滑块验证