Моя цель - запустить socket.io-client внутри сценария тестирования k6.js.
Во-первых, я просмотрел библиотеку:
cd src/main/tests/
npm install browserify -S
browserify node_modules/socket.io-client/dist/socket.io.js --standalone io > socket-bundle.js
Файл socket-bundle.js эффективно создан и может быть импортирован в мой сценарий k6:
import io from './socket-bundle.js';
export default function() {
group("my socket test", () => {
var url = `https://my-endpoint.com/`;
const socket = io(url);
/* Also tried this:
var socket = io.connect(url, {
reconnect: true
});
*/
socket.on('connect', function () {
console.log("connected");
});
socket.on('event', function (data) {
console.log(data);
});
socket.on('disconnect', function () {
console.log("disconnect");
});
});
}
Однако, когда я запускаю его (внутри k6.js), я получаю ошибку в core-js/shim.min.js
, которая зависит от библиотеки:
TypeError: Value is not an object: undefined
at core-js/shim.min.js:9:19239(35)
at /src/main/tests/socket-bundle.js:9:25996(37)
at /src/main/tests/socket-bundle.js:9:26185(72)
at /src/main/tests/socket-bundle.js:9:26147(63)
at /src/main/tests/socket-bundle.js:9:26185(72)
at /src/main/tests/socket-bundle.js:9:26147(63)
at r (/src/main/tests/socket-bundle.js:9:24267(505))
at /src/main/tests/socket-bundle.js:9:18192(40)
at r (/src/main/tests/socket-bundle.js:9:16330(203))
at r (/src/main/tests/socket-bundle.js:9:753(110))
at /src/main/tests/query_trips.js:28:52(20)
at native
at test (/src/main/tests/query_trips.js:22:21(13))
at /src/main/tests/query_trips.js:50:44(4)
Кажется, что зависимости не корректно включаются в browserify. Стоит ли просматривать библиотеку другим способом?