node.js - 如何在具有 chromedriver 层的 AWS Lambda 上运行量角器测试
问题描述
我有 nodejs lambda 函数。我想对其进行量角器测试。
我的处理程序文件如下 -
'use strict';
module.exports.runtest = (event, context, callback) => {
var npm = require('npm');
var path = require('path');
var childProcess = require('child_process');
var args = ['conf.js'];
npm.load({}, function() {
var child = childProcess
.fork(path.join(npm.root, 'protractor/bin/protractor'), args)
.on('close', function(errorCode) {
const response = {
statusCode: 200,
body: JSON.stringify({
message: `Selenium Test executed on BrowserStack! Child process Error Code: ${errorCode}`,
}),
};
callback(null, response);
});
process.on('SIGINT', child.kill);
});
};
当我调用我的 lambda 函数时,它会给出以下错误:
[15:53:49] I/launcher - Running 1 instances of WebDriver [15:53:49] I/direct - Using ChromeDriver directly... [15:53:49] E/direct - Error code: 135 [15:53:49] E/direct - Error message: Could not find chromedriver at /var/task/node_modules/webdriver-manager/selenium/chromedriver_92.0.4515.107.exe. Run 'webdriver-manager update' to download binaries...
如何在 lambda 函数上运行“webdriver-manager update”?
如果没有,我如何使用我已经在我的 lambda 函数中添加的“chromedriver and headless chromium”层运行测试?
解决方案
推荐阅读
- angular - 如何将@angular/platform-browser 添加到材质弹出对话框
- docker - boto3 dynamodb 连接到本地或远程实例
- ios - 如何将 UITextField 强制为数值列表?
- vue.js - 在 vue3 中通过 props 传递的组件
- json - 试图在python中更改我的csv文件的row2
- angular - 如何使用 *ngFor 仅显示最后 5 条消息
- c++ - 如何将 std::less 传递给类模板?
- apache-spark - Spark:将十六进制字符串转换为十进制
- javascript - 带有 devtools 的 WebdriverIO 正在控制台中打印大量数据
- c++ - 如何减少 MSVC 中的链接时间?