mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 11:22:31 +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));
|
APP.store.dispatch(updateRemoteParticipantFeatures(user));
|
||||||
logger.log(`USER ${id} connected:`, user);
|
logger.log(`USER ${id} connected`);
|
||||||
APP.UI.addUser(user);
|
APP.UI.addUser(user);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,9 @@ function _initLogging({ dispatch, getState }: IStore,
|
|||||||
Logger.addGlobalTransport(debugLogCollector);
|
Logger.addGlobalTransport(debugLogCollector);
|
||||||
JitsiMeetJS.addGlobalLogTransport(debugLogCollector);
|
JitsiMeetJS.addGlobalLogTransport(debugLogCollector);
|
||||||
debugLogCollector.start();
|
debugLogCollector.start();
|
||||||
|
|
||||||
|
Logger.removeGlobalTransport(console);
|
||||||
|
JitsiMeetJS.removeGlobalLogTransport(console);
|
||||||
}
|
}
|
||||||
} else if (logCollector && loggingConfig.disableLogCollector) {
|
} else if (logCollector && loggingConfig.disableLogCollector) {
|
||||||
Logger.removeGlobalTransport(logCollector);
|
Logger.removeGlobalTransport(logCollector);
|
||||||
|
|||||||
@@ -44,6 +44,25 @@ export function getLogs(driver: WebdriverIO.Browser) {
|
|||||||
return fs.readFileSync(driver.logFile, 'utf8');
|
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.
|
* Logs a message in the logfile.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import pretty from 'pretty';
|
|||||||
import { getTestProperties, loadTestFiles } from './helpers/TestProperties';
|
import { getTestProperties, loadTestFiles } from './helpers/TestProperties';
|
||||||
import { config as testsConfig } from './helpers/TestsConfig';
|
import { config as testsConfig } from './helpers/TestsConfig';
|
||||||
import WebhookProxy from './helpers/WebhookProxy';
|
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 { IContext } from './helpers/types';
|
||||||
import { generateRoomName } from './helpers/utils';
|
import { generateRoomName } from './helpers/utils';
|
||||||
|
|
||||||
@@ -162,6 +162,18 @@ export const config: WebdriverIO.MultiremoteConfig = {
|
|||||||
webdriver: 'info'
|
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
|
// Set directory to store all logs into
|
||||||
outputDir: TEST_RESULTS_DIR,
|
outputDir: TEST_RESULTS_DIR,
|
||||||
|
|
||||||
@@ -390,7 +402,14 @@ export const config: WebdriverIO.MultiremoteConfig = {
|
|||||||
'text/plain'))
|
'text/plain'))
|
||||||
.catch(e => console.error('Failed grabbing debug logs', e)));
|
.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');
|
AllureReporter.addAttachment(`console-logs-${instance}`, getLogs(bInstance) || '', 'text/plain');
|
||||||
|
}));
|
||||||
|
|
||||||
allProcessing.push(bInstance.getPageSource().then(source => {
|
allProcessing.push(bInstance.getPageSource().then(source => {
|
||||||
AllureReporter.addAttachment(`html-source-${instance}`, pretty(source), 'text/plain');
|
AllureReporter.addAttachment(`html-source-${instance}`, pretty(source), 'text/plain');
|
||||||
|
|||||||
Reference in New Issue
Block a user