mirror of
https://github.com/gitbutlerapp/gitbutler.git
synced 2025-01-05 08:29:30 +03:00
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
import { browser } from '@wdio/globals';
|
|
import { spawn, ChildProcess } from 'node:child_process';
|
|
import os from 'node:os';
|
|
import path from 'node:path';
|
|
import type { Options } from '@wdio/types';
|
|
|
|
let tauriDriver: ChildProcess;
|
|
|
|
export const config: Options.WebdriverIO = {
|
|
hostname: '127.0.0.1',
|
|
port: 4444,
|
|
specs: ['./e2e/**/*.spec.js'],
|
|
maxInstances: 1,
|
|
capabilities: [
|
|
{
|
|
// @ts-expect-error custom tauri capabilities
|
|
'tauri:options': {
|
|
application: '../../target/release/git-butler-dev'
|
|
}
|
|
}
|
|
],
|
|
reporters: ['spec'],
|
|
framework: 'mocha',
|
|
mochaOpts: {
|
|
ui: 'bdd',
|
|
timeout: 60000
|
|
},
|
|
autoCompileOpts: {
|
|
autoCompile: true,
|
|
tsNodeOpts: {
|
|
project: './tsconfig.json',
|
|
transpileOnly: true
|
|
}
|
|
},
|
|
|
|
waitforTimeout: 10000,
|
|
connectionRetryTimeout: 120000,
|
|
connectionRetryCount: 3,
|
|
|
|
// ensure we are running `tauri-driver` before the session starts so that we can proxy the webdriver requests
|
|
beforeSession: () =>
|
|
(tauriDriver = spawn(path.resolve(os.homedir(), '.cargo', 'bin', 'tauri-driver'), [], {
|
|
stdio: [null, process.stdout, process.stderr]
|
|
})),
|
|
|
|
afterTest: function ({ error }: { error: Error }) {
|
|
if (error) {
|
|
browser.takeScreenshot();
|
|
}
|
|
},
|
|
|
|
afterSession: () => tauriDriver.kill()
|
|
};
|