private PluginTool createTool() throws Exception {
		DockingActionIf createAction = getAction("Create Tool");
		performAction(createAction, true);
		PluginTool[] tools = frontEndTool.getProject().getToolManager().getRunningTools();
		final PluginTool tool = tools[0];
		runSwing(() -> {
			try {
				tool.addPlugin(CodeBrowserPlugin.class.getName());
			}
			catch (PluginException e) {
				e.printStackTrace();
			}
		});

		DockingActionIf action = getAction(tool, ToolConstants.TOOL_OWNER, "Save Tool As");
		performAction(action, false);

		waitForSwing();
		SaveToolConfigDialog saveDialog = waitForDialogComponent(SaveToolConfigDialog.class);
		pressButtonByText(saveDialog, "Save");
		waitForSwing();
		return tool;
	}
Tests for tool actions on the front end (Ghidra project window)
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/ToolActionManagerTest.java