如何从 java 代码打开 TestComplete

How to open TestComplete from java code

我想从 java 打开 TestComplete,但我不能这样做,因为没有权限。当我 运行 我的代码

public static void StartTC() {
    try{
        Process p = Runtime.getRuntime().exec(new String[] {"C:\Program Files (x86)\SmartBear\TestComplete 11\Bin\TestComplete.exe"});
    }
    catch (IOException e) {
        e.printStackTrace();
    }
}

程序以 CreateProcess error=740 退出,并告诉我此操作需要更高的权限。 我知道我可以创建一个具有管理员权限的 .lnk。在 exe 的打开属性中,但可能有正确的方法来执行此操作。

我认为您可以使用文件 class 来设置权限。

 File file = new File("File.c");
 //but file permission are OS specific.
 file.setExecutable(true);

在 linux 中它将起作用。

如果您使用的是 windows,那么您可以使用 运行 "icacls" 命令来授予文件权限。

C:\>icacls "D:\test" /grant John:(OI)(CI)F /T

此命令可用于在 windows 中授予权限。

According do MS documentation:

F = Full Control
CI = Container Inherit - This flag indicates that subordinate containers will inherit this ACE.
OI = Object Inherit - This flag indicates that subordinate files will inherit the ACE.
/T = Apply recursively to existing files and sub-folders. (OI and CI only apply to new files and sub-folders). Credit: comment by @AlexSpence.

您可以 运行 使用 Runtime.getRuntime().exec("icacls something here");

以上命令

I hope I helped you.

您需要禁用 工具 |选项... |发动机 |一般 | 启用测试支持 Windows 在 TestComplete 中存储应用程序 选项。

有关这如何影响从外部应用程序(如您的情况)使用 TestComplete 的信息,请参见 Requirements for Testing Windows Store Applications 帮助主题。