@Test
	public void testAlternateLocationPropertiesFile() throws Exception {

		// Create a temporary .properties file and set the potentialPropertiesFileLocs to look
		// in that location
		String tempDirPath = AbstractGTest.getTestDirectoryPath();
		File tempDir = new File(tempDirPath);
		File tempPropertiesFile = new File(tempDir, "GhidraScriptTest.properties");
		tempPropertiesFile.delete();

		final String[] myString = new String[1];

		String propertiesValue = "This is my alternate .properties location String.";
		final String defaultValue = "Is this the string you expected?";

		// Create .properties file that contains values for askString
		assertTrue("File '" + tempPropertiesFile.getAbsolutePath() + "' should have been created!",
			tempPropertiesFile.createNewFile());

		// Write the path to the file to the .properties file
		FileWriter output = new FileWriter(tempPropertiesFile);
		BufferedWriter writer = new BufferedWriter(output);
		writer.write("Test Alternate Location Please enter a string: = " + propertiesValue);
		writer.close();

		createScript();

		// Set .properties file location
		script.setPropertiesFileLocation(tempDirPath, "GhidraScriptTest");
		script.loadPropertiesFile();

		executeOnSwingWithoutBlocking(() -> {
			try {
				myString[0] = script.askString("Test Alternate Location", "Please enter a string:",
					defaultValue);
			}
			catch (Exception e) {
				failWithException("Exception was caught in this test: " + e.getMessage(), e);
			}
		});

		AskDialog<?> askDialog = waitForDialogComponent(AskDialog.class);
		assertNotNull(askDialog);
		pressButtonByText(askDialog, "OK");
		waitForSwing();

		// Compare default value to expected properties value
		assertEquals(propertiesValue, myString[0]);

	}
A large timeout period that is usually not reached
Ghidra/Features/Base/src/test.slow/java/ghidra/app/script/GhidraScriptAskMethodsTest.java