我正在创建一个基础,用于自动测试浏览器扩展,使用类型记录、selenium-webdriver (https://www.npmjs.com/package/selenium-webdriver最新版本)和windows 10。
问题是我无法将扩展加载到Edge (44.17763.1.0版)
当前的测试场景是:
1) Open browser with the loaded extension
2) Go to the test page
3) Check if the elements added by the extension are present
我面临的问题是,Edge不加载扩展,浏览器打开,继续到页面,并在元素丢失后失败。
下面是创建Edge的代码:
function buildEdgeDriver(): WebDriver {
const service = new edge.ServiceBuilder().setPort(edgeWebdriverPort);
const extensionPaths = [edgeExtensionPath];
const cap = new Capabilities({extensionPaths});
const options = new edge.Options();
if (useBrowserExtension) {
cap.set('extensionPaths', extensionPaths);
}
return new Builder()
.withCapabilities(cap)
.forBrowser(Browser.EDGE)
.setEdgeOptions(options)
.setEdgeService(service).build();
}
我也发现了一个类似的问题已经解决了,但是这个解决方案并没有帮助我:https://stackoverflow.com/questions/53073851/edge-webdriver-17134-extension-are-not-loaded
该分机在未包装和签名的情况下放置在适当的文件夹中:
C:\Users\PORTER\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\LocalState\extension\
我已经尝试提供这个扩展的打包和解压缩版本,并将extensionPaths
指向解压缩扩展的所有子文件夹。
手动将扩展添加到主边缘配置文件并没有将其添加到selenium启动的边缘。边总是开始,但总是没有扩展。
没有日志表明扩展加载存在问题(除了断言错误之外,根本没有日志)。
如能提供任何帮助,将不胜感激:)
发布于 2019-04-10 11:17:15
经过进一步的搜索,我发现了这个问题:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19950242/
这个问题似乎不是在我的代码中,而是在Edge/Selenium/Windows 10 1809版本的某个地方(其他人也有类似的经验)。在撰写这篇文章时,票证仍然处于活动状态,并重新分配给一个新的支持人员。如果有人对我上述问题的答案感兴趣,我建议检查链接,寻找可能的未来解决方案。
https://sqa.stackexchange.com/questions/38491
复制相似问题