Skip to main content
Glama
deleonio
by deleonio
wdio.conf.cjs1.68 kB
const { spawn } = require('child_process'); const net = require('net'); const TEST_TIMEOUT = parseInt(process.env.TEST_TIMEOUT || '10000', 10); let devServer; function waitForPort(port, host = 'localhost', timeout = 10000) { return new Promise((resolve, reject) => { const start = Date.now(); function check() { const socket = new net.Socket(); socket.once('connect', () => { socket.end(); resolve(true); }); socket.once('error', () => { socket.destroy(); if (Date.now() - start > timeout) { reject(new Error(`Timeout: Port ${port} not available after ${timeout}ms`)); } else { setTimeout(check, 250); } }); socket.connect(port, host); } check(); }); } exports.config = { runner: 'local', specs: ['./tests/**/*.webdriver.ts'], maxInstances: 1, capabilities: [ { maxInstances: 1, browserName: 'chrome', 'goog:chromeOptions': { args: ['--headless=new', '--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage', '--js-flags=--expose-gc'], }, }, ], logLevel: 'silent', bail: 0, baseUrl: 'http://localhost:3000', timeout: 2 * TEST_TIMEOUT, framework: 'mocha', reporters: ['spec'], mochaOpts: { ui: 'bdd', timeout: 60000, }, onPrepare: async () => { console.log('[wdio] Starting local dev server...'); devServer = spawn('npx', ['serve', 'public', '-p', '3000', '--no-clipboard', '--no-request-logging'], { stdio: 'ignore', shell: true, }); await waitForPort(3000).then(() => console.log('[wdio] Dev server is ready on port 3000')); }, onComplete() { if (devServer) { console.log('[wdio] Stopping local dev server...'); devServer.kill(); } }, };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deleonio/public-ui-kolibri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server