使用javascript在Selenium Webdriver中注入响应头

问题描述

我目前正在学习结合自动化测试的Selenium网格。出现的一个困难是Selenium似乎没有支持添加请求标头的方法。这是一个问题,因为要导航到我要测试的页面,我需要输入某些请求标头。

因此,我想到了借助“ .executeScript”方法注入Javascript的想法。在文件test.js中就是这样。

const { Builder,By,Key,until,Capabilities } = require('selenium-webdriver');
var dockerhub = "http://localhost:4444/wd/hub";
var url = "https://google.com";

async function test() {
    let driver = await new Builder()
        .forbrowser("chrome")
        .usingServer(dockerhub)
        .build();
    try {
        await driver.get(url); //navigate to the url
        await driver.executeScript() //injects respone headers.
        //DO TESTING HERE.
    } catch (err) {
        console.log(err);
    } finally {
        await driver.quit();
    }
};

test();

为此,我在制定Javascript代码时遇到了一些问题。因为如果我注入例如XMLHttpRequests,驱动程序似乎不再受页面控制。因此,这使我想知道是否有可能注入响应头并且仍然能够使用驱动程序来导航和测试页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)