diff --git a/packages/ckeditor5-dev-tests/lib/tasks/runautomatedtests.js b/packages/ckeditor5-dev-tests/lib/tasks/runautomatedtests.js
index 41bf1273d..055f52c9c 100644
--- a/packages/ckeditor5-dev-tests/lib/tasks/runautomatedtests.js
+++ b/packages/ckeditor5-dev-tests/lib/tasks/runautomatedtests.js
@@ -95,6 +95,9 @@ function createEntryFile( globPatterns, production ) {
 		throw new Error( 'Not found files to tests. Specified patterns are invalid.' );
 	}
 
+	// Set global license key in the `before` hook.
+	allFiles.unshift( path.join( __dirname, '..', 'utils', 'automated-tests', 'licensekeybefore.js' ).replace( /\\/g, '/' ) );
+
 	// Inject the leak detector root hooks. Need to be split into two parts due to #598.
 	allFiles.splice( 0, 0, path.join( __dirname, '..', 'utils', 'automated-tests', 'leaksdetectorbefore.js' ).replace( /\\/g, '/' ) );
 	allFiles.push( path.join( __dirname, '..', 'utils', 'automated-tests', 'leaksdetectorafter.js' ).replace( /\\/g, '/' ) );
diff --git a/packages/ckeditor5-dev-tests/lib/utils/automated-tests/licensekeybefore.js b/packages/ckeditor5-dev-tests/lib/utils/automated-tests/licensekeybefore.js
new file mode 100644
index 000000000..6fec56bcd
--- /dev/null
+++ b/packages/ckeditor5-dev-tests/lib/utils/automated-tests/licensekeybefore.js
@@ -0,0 +1,11 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+/* global window */
+
+// eslint-disable-next-line mocha/no-top-level-hooks
+before( function() {
+	window.CKEDITOR_GLOBAL_LICENSE_KEY = 'GPL';
+} );
diff --git a/packages/ckeditor5-dev-tests/lib/utils/manual-tests/compilehtmlfiles.js b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/compilehtmlfiles.js
index cf9cd295c..796d41fed 100644
--- a/packages/ckeditor5-dev-tests/lib/utils/manual-tests/compilehtmlfiles.js
+++ b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/compilehtmlfiles.js
@@ -134,6 +134,7 @@ function compileHtmlFile( buildDir, options ) {
 		'<script src="/assets/websocket.js"></script>' +
 		'<script src="/assets/inspector.js"></script>' +
 		'<script src="/assets/attachinspector.js"></script>' +
+		'<script src="/assets/globallicensekey.js"></script>' +
 		`${ languagesToLoad.map( language => {
 			return `<script src="/translations/${ language }.js"></script>`;
 		} ).join( '' ) }` +
diff --git a/packages/ckeditor5-dev-tests/lib/utils/manual-tests/copyassets.js b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/copyassets.js
index 423d661af..36c583200 100644
--- a/packages/ckeditor5-dev-tests/lib/utils/manual-tests/copyassets.js
+++ b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/copyassets.js
@@ -10,6 +10,7 @@ const assets = [
 	path.join( __dirname, 'togglesidebar.js' ),
 	path.join( __dirname, 'attachinspector.js' ),
 	path.join( __dirname, 'websocket.js' ),
+	path.join( __dirname, 'globallicensekey.js' ),
 	require.resolve( '@ckeditor/ckeditor5-inspector' )
 ];
 
diff --git a/packages/ckeditor5-dev-tests/lib/utils/manual-tests/globallicensekey.js b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/globallicensekey.js
new file mode 100644
index 000000000..2b5a50de2
--- /dev/null
+++ b/packages/ckeditor5-dev-tests/lib/utils/manual-tests/globallicensekey.js
@@ -0,0 +1,8 @@
+/**
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+
+/* global window */
+
+window.CKEDITOR_GLOBAL_LICENSE_KEY = 'GPL';
diff --git a/packages/ckeditor5-dev-tests/tests/utils/manual-tests/compilehtmlfiles.js b/packages/ckeditor5-dev-tests/tests/utils/manual-tests/compilehtmlfiles.js
index fa34f921b..e94a529da 100644
--- a/packages/ckeditor5-dev-tests/tests/utils/manual-tests/compilehtmlfiles.js
+++ b/packages/ckeditor5-dev-tests/tests/utils/manual-tests/compilehtmlfiles.js
@@ -160,6 +160,7 @@ describe( 'compileHtmlFiles', () => {
 						'<script src="/assets/websocket.js"></script>' +
 						'<script src="/assets/inspector.js"></script>' +
 						'<script src="/assets/attachinspector.js"></script>' +
+						'<script src="/assets/globallicensekey.js"></script>' +
 						'<script src="/path/to/manual/file.js"></script>' +
 					'</body>'
 				].join( '\n' )
@@ -207,6 +208,7 @@ describe( 'compileHtmlFiles', () => {
 						'<script src="/assets/websocket.js"></script>' +
 						'<script src="/assets/inspector.js"></script>' +
 						'<script src="/assets/attachinspector.js"></script>' +
+						'<script src="/assets/globallicensekey.js"></script>' +
 						'<script src="/translations/en.js"></script>' +
 						'<script src="/translations/pl.js"></script>' +
 						'<script src="/translations/ar.js"></script>' +
@@ -251,6 +253,7 @@ describe( 'compileHtmlFiles', () => {
 						'<script src="/assets/websocket.js"></script>' +
 						'<script src="/assets/inspector.js"></script>' +
 						'<script src="/assets/attachinspector.js"></script>' +
+						'<script src="/assets/globallicensekey.js"></script>' +
 						'<script src="/path/to/manual/file.abc.js"></script>' +
 					'</body>'
 				].join( '\n' )
@@ -324,6 +327,7 @@ describe( 'compileHtmlFiles', () => {
 						'<script src="/assets/websocket.js"></script>' +
 						'<script src="/assets/inspector.js"></script>' +
 						'<script src="/assets/attachinspector.js"></script>' +
+						'<script src="/assets/globallicensekey.js"></script>' +
 						'<script src="/path/to/manual/file.js"></script>' +
 					'</body>'
 				].join( '\n' )
@@ -404,6 +408,7 @@ describe( 'compileHtmlFiles', () => {
 						'<script src="/assets/websocket.js"></script>' +
 						'<script src="/assets/inspector.js"></script>' +
 						'<script src="/assets/attachinspector.js"></script>' +
+						'<script src="/assets/globallicensekey.js"></script>' +
 						'<script src="/path/to/manual/file.js"></script>' +
 					'</body>'
 				].join( '\n' )