gpt4 book ai didi

javascript - Chrome 扩展程序未在 Selenium JavaScript Webdriver 测试中运行

转载 作者:行者123 更新时间:2023-12-03 01:40:09 24 4
gpt4 key购买 nike

我有一个 Selenium JavaScript Webdriver 测试,它按预期工作,没有给出任何错误,除了应该更改页面标题然后获取 cookie 的 Chrome 扩展不起作用。当我在测试页面上手动运行扩展程序时,它会按预期工作,所以我很确定问题在于我如何调用扩展程序。

我确实有一个关于“二进制”chromeOption 的问题,从我查看的文档来看,它看起来只是保存扩展名的文件夹,但是这些相同的文档在 chromeOption 中的“扩展名”指向一个文件在同一个文件夹中。我到底应该在“二进制”中放入什么?

代码片段:

    const path = require('path');
const chromePath = require('chromedriver').path;
const webdriver = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const until = webdriver.until;
var chromeOptions = webdriver.Capabilities.chrome();

var service = new chrome.ServiceBuilder(chromePath).build();
chrome.setDefaultService(service);

var builder = new webdriver.Builder();
var options = new chrome.Options();
var preferences = new webdriver.logging.Preferences();
var driver;

preferences.setLevel(webdriver.logging.Type.BROWSER, webdriver.logging.Level.ALL);
options.setLoggingPrefs(preferences);

var extensionArray = [""];

async function AppTest() {

let driver = builder
.forBrowser('chrome')
.withCapabilities({
'browserName': 'chrome',
'chromeOptions':
{
binary:
// Folder containing a copy of the extension

'/Users/MyUserName/Desktop/Testing/chrome-extensions',
args: [],
// Local copy of the extension in the same folder as the test
extensions: ['./chrome-extension/extension-demo.crx']
}
})
.setChromeOptions(options)
.build();

// Tests

await driver.get('https://testURL.com');

await driver.manage().getCookie("test").then(function(cookie){
console.log("test", cookie);
});

await driver.quit();
}

最佳答案

我不确定“二进制” key 的用途,因为我从未遇到过它。

您可以在 this post 处看到我如何在 Java 中添加扩展。 。关键是你不能按原样添加扩展;它需要转换为base-64。

关于javascript - Chrome 扩展程序未在 Selenium JavaScript Webdriver 测试中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50882420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com