当前位置: 首页 > 面试题库 >

是否可以在量角器测试下向chromedriver添加插件?

嵇丰
2023-03-14
问题内容

我在量角器测试中一直尝试处理基本身份验证。这样做有些困难,所以我发现一个chrome插件会自动将我的凭据发送给需要基本身份验证的网站。

每次执行chromedriver时,都会加载新的配置文件,我如何才能将插件永久添加到测试中?我知道这里有https://sites.google.com/a/chromium.org/chromedriver/extensions,但是我认为这不太清楚。


问题答案:

您需要在其中配置extensions列表chromeOptions

capabilities {
    'browserName': 'chrome',
    'chromeOptions': {
        'extensions': ['base64 encoded extension']
    }
}

请注意,extensions重要的是提供以base-64编码的压缩Chrome扩展程序列表。

要获得 base64编码的扩展名 ,您需要读取.ctx扩展文件并使用编码内容base64。例如,使用python

>>> import base64
>>> data = open('path_to_the_ctx_extension').read()
>>> base64.standard_b64encode(data).decode('UTF-8')
# outputs the encoded chrome extension which you can paste in the config

或者,更容易helper.js使用fs和创建文件q

var q = require('q');
var fs = require('fs');

exports.getCapabilities = function (filename) {
    var deferred = q.defer();

    fs.readFile(filename, function (err, data) {
        var capabilities = {
            'browserName': 'chrome',
            'chromeOptions': {
                extensions: [
                    data.toString('base64')
                ]
            }
        };
        deferred.resolve(capabilities);
    });

    return deferred.promise;
};

然后,在量角器配置中,使用此getCapabilities()函数获取功能:

var helper = require('./helper.js');

exports.config = {

    capabilities: helper.getCapabilities('/path/to/crx/extension'),

    ...
}

当前,它与单个扩展一起使用,因此还有改进的空间。

另外,如果遇到问题,请仔细阅读以下问题:

  • 设置Chrome选项


 类似资料:
  • 问题内容: 我按照本教程安装了量角器,当我使用webdriver-manager更新时,它说: 您在我尝试进行量角器测试时说: 我检查了 local.dp.js ,发现它试图从 .. \ node_modules \ protractor \ selenium \ chromedriver加载chromedriver, 但是只有一个空的zip文件 chromedriver_2.9 。 因此,我手动

  • 问题内容: 我有两个表,并添加了外键约束。海螺-效果很好。现在,是否可以针对父表中的某些数据进一步限制这种关系? 基本上,我在父表中有动物,而对于子表,希望仅包含父数据为.... um ..哺乳动物的数据。 例如。 因此,我希望确保AnimalId只能是Animals.AnimalType = 1类型 这可能吗?? 我不想让某人尝试在子表中插入一些针对爬行动物的信息… 干杯:) 编辑: 我以为我必

  • 我想在我的项目中添加一个修改过的maven插件。它包含一个在中央存储库中尚不可用的特性。我试过用system scope添加它,并在本地回购中安装它,但它不起作用。这是可行的还是我必须安装插件在每台机器上我想建立这个项目? git repo可在以下位置找到: https://github.com/crydust/dukeshoppinglist 更新 根据“Maven3-Distribute cu

  • 问题内容: 我的页面上有一个按钮,当用户向下滚动时该按钮可见。因此,量角器测试给我一个错误: UnknownError:未知错误:元素在点(94,188)不可单击。 我尝试使用: 当我在量角器elementexplorer.js中对其进行测试时,此方法有效,但在我的常规测试中却无能为力。还有其他办法吗? 问题答案: 您需要等待诺言得以解决。以下示例来自一个未解决的问题 更新 :这是一个古老的问题(

  • 问题内容: 如果要创建一个包含几列的新DataFrame,可以一次添加所有列-例如,如下所示: 但是现在假设走得更远,我想向此DataFrame添加一组其他列。有没有一种方法可以同时添加它们,如 我知道我可以这样做: 或这个: 我只是希望有一些清洁的东西。如果我坚持使用这两个选项,哪个是首选? 问题答案: 熊猫从那以后就有方法了。您可以在像这样的数据帧上使用它 或者,您可以直接使用字典,例如

  • 大多数情况下使用静态json数据通过使用D3.Hierarchy生成树状图或可折叠的力图。但问题是,数据是动态的而不是静态的呢?另一方面,是否有任何方法或函数可以将子级添加到已经存在的D3.Hierarchy对象中? 我读过很多关于如何用D3制作一个可折叠的力定向的例子。但大多数使用的是静态json数据。 因此,我不需要为根数据重新创建层次结构,我只需创建一个子层次结构对象并将其添加到根中。