mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 03:12:29 +00:00
feat(tests): Uses memory logs on failure and stops logging during conference.
This commit is contained in:
@@ -1375,7 +1375,7 @@ export default {
|
||||
}
|
||||
|
||||
APP.store.dispatch(updateRemoteParticipantFeatures(user));
|
||||
logger.log(`USER ${id} connected:`, user);
|
||||
logger.log(`USER ${id} connected`);
|
||||
APP.UI.addUser(user);
|
||||
});
|
||||
|
||||
|
||||
@@ -186,6 +186,9 @@ function _initLogging({ dispatch, getState }: IStore,
|
||||
Logger.addGlobalTransport(debugLogCollector);
|
||||
JitsiMeetJS.addGlobalLogTransport(debugLogCollector);
|
||||
debugLogCollector.start();
|
||||
|
||||
Logger.removeGlobalTransport(console);
|
||||
JitsiMeetJS.removeGlobalLogTransport(console);
|
||||
}
|
||||
} else if (logCollector && loggingConfig.disableLogCollector) {
|
||||
Logger.removeGlobalTransport(logCollector);
|
||||
|
||||
@@ -44,6 +44,25 @@ export function getLogs(driver: WebdriverIO.Browser) {
|
||||
return fs.readFileSync(driver.logFile, 'utf8');
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends value to the log file.
|
||||
* @param {WebdriverIO.Browser} driver - The driver which log file is requested.
|
||||
* @param {string} value - The content to add to the file.
|
||||
*/
|
||||
export function saveLogs(driver: WebdriverIO.Browser, value: string) {
|
||||
// @ts-ignore
|
||||
if (!driver.logFile) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// @ts-ignore
|
||||
fs.appendFileSync(driver.logFile, value);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a message in the logfile.
|
||||
*
|
||||
|
||||
@@ -9,7 +9,7 @@ import pretty from 'pretty';
|
||||
import { getTestProperties, loadTestFiles } from './helpers/TestProperties';
|
||||
import { config as testsConfig } from './helpers/TestsConfig';
|
||||
import WebhookProxy from './helpers/WebhookProxy';
|
||||
import { getLogs, initLogger, logInfo } from './helpers/browserLogger';
|
||||
import { getLogs, initLogger, logInfo, saveLogs } from './helpers/browserLogger';
|
||||
import { IContext } from './helpers/types';
|
||||
import { generateRoomName } from './helpers/utils';
|
||||
|
||||
@@ -162,6 +162,18 @@ export const config: WebdriverIO.MultiremoteConfig = {
|
||||
webdriver: 'info'
|
||||
},
|
||||
|
||||
// Can be used to debug chromedriver, depends on chromedriver and wdio-chromedriver-service
|
||||
// services: [
|
||||
// [ 'chromedriver', {
|
||||
// // Pass the --verbose flag to Chromedriver
|
||||
// args: [ '--verbose' ],
|
||||
// // Optionally, define a file to store the logs instead of stdout
|
||||
// logFileName: 'wdio-chromedriver.log',
|
||||
// // Optionally, define a directory for the log file
|
||||
// outputDir: 'test-results',
|
||||
// } ]
|
||||
// ],
|
||||
|
||||
// Set directory to store all logs into
|
||||
outputDir: TEST_RESULTS_DIR,
|
||||
|
||||
@@ -390,7 +402,14 @@ export const config: WebdriverIO.MultiremoteConfig = {
|
||||
'text/plain'))
|
||||
.catch(e => console.error('Failed grabbing debug logs', e)));
|
||||
|
||||
allProcessing.push(
|
||||
bInstance.execute(() => APP?.debugLogs?.logs?.join('\n')).then(res => {
|
||||
if (res) {
|
||||
saveLogs(bInstance, res);
|
||||
}
|
||||
|
||||
AllureReporter.addAttachment(`console-logs-${instance}`, getLogs(bInstance) || '', 'text/plain');
|
||||
}));
|
||||
|
||||
allProcessing.push(bInstance.getPageSource().then(source => {
|
||||
AllureReporter.addAttachment(`html-source-${instance}`, pretty(source), 'text/plain');
|
||||
|
||||
Reference in New Issue
Block a user