从Selenium执行的AutoIT脚本修改主机文件

时间:2016-08-22 17:28:08

标签: java selenium-webdriver autoit

我正在尝试根据我运行脚本的环境更改我的主机文件。看起来我需要做的是以管理员身份运行命令(提升权限),我似乎无法找到如何在AutoIT中做到这一点。

以下是来自Selenium的电话示例:

Runtime.getRuntime().exec("C:\HostSwitcher.exe " + C:\Scripts + " " + "QA2");

这是我在AutoIT中的代码:

$filePath = $CmdLine[1]
$env = $CmdLine[2]


Run(@comspec & " /c DEL %WINDIR%\SYSTEM32\DRIVERS\ETC\HOSTS")

if $env = "Dev" then
    Run(@comspec & " /c COPY "&$filePath&"hostFiles\DevHost.txt %WINDIR%\SYSTEM32\DRIVERS\ETC\hosts")
endif

if $env = "QA2" then
    Run(@comspec & " /c COPY "&$filePath&"hostFiles\QA2Host.txt %WINDIR%\SYSTEM32\DRIVERS\ETC\hosts")
endif

我如何告诉AutoIT以管理员身份运行?

1 个答案:

答案 0 :(得分:3)

作为开始提示,您的帐户应具有提升的权限。

据我所知,你有选择:

  1. 最理想和最安全的

    以管理员身份运行Java应用程序(IntelliJ,Eclipse)。这样,由它生成或执行的任何进程都将以提升的权限运行(这不仅仅是Windows中的连锁反应)。

  2. 使用提升的权限运行

    Runtime.getRuntime().exec("runas /profile /user:Administrator \"C:\HostSwitcher.exe " + C:\Scripts + " " + "QA2");