首页 > 解决方案 > Selenium 测试在登录后添加 Cookie

问题描述

所以我使用了一个在 Svelte 上编写的项目。对于这个应用程序,我需要使用 Selenium JS 编写许多测试。我尝试编写一些测试来检查页面内容,但我遇到了授权问题......通过我的主页上的应用程序有一个按钮,按下按钮后它将在java后端特殊访问令牌中生成, 15 分钟后到期。所以我的测试看起来像:

const URL = "http://localhost:5000"



describe('SVELTE CLIENT APP', function() {
    var driver;
    before(function () {
        driver = new webdriver.Builder()
            .forBrowser('chrome')
            .build();

    });


describe('Navigation with Auth', async function () {


        it('Experiment', async function (){

         
            //get current domain 
            await driver.get(URL);

            //Authorisation Click on Button 
            await driver.findElement(webdriver.By.css('body > div > fieldset:nth-child(6) > div:nth-child(2) > span > button > span')).click();

            
            // try to get actual Cookies after Authorisation, but it doesn't work 
            await driver.manage().getCookies().then(function (cookie) {
                console.log(cookie);
            });
            
            // Set the Cookies per Hand
            await driver.manage().addCookie({name:"AUTH_COOKIE", value:"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJicm9tYmVydGplQGdtYWlsLmNvbSIsIm5iZiI6MTYzNzA5MjE2MywiaWQiOiIxIiwibG9naW4iOiJicm9tYmVydGplIiwiZXhwIjoxNjM3MDkzMDYzLCJlbWFpbCI6ImJyb21iZXJ0amVAZ21haWwuY29tIiwiYXV0aG9yaXRpZXMiOiJS..."});
            // get a page with the cookie
            
            
            //....
        });
    });

那么如何在使用 Selenium 进行授权后获取此 Cookie 值?任何想法 ? 在此处输入图像描述

标签: javascriptseleniumtestingmocha.jssvelte

解决方案


推荐阅读