禁用Windows防火墙弹出窗口以进行自动测试

时间:2014-10-29 09:04:22

标签: windows visual-studio windows-8 automated-tests windows-firewall

我们正在从Visual Studio运行自动化测试。其中一些测试需要与临时Redis服务器通信,因此我们在测试执行期间在JobObject中启动redis-server.exe

通过声明[DeploymentItem("redis-server.exe")]redis-server.exe可执行文件部署到测试运行目录。

除了每次测试运行都会显示恼人的Windows防火墙弹出窗口时,此工作正常:

enter image description here

是否可以阻止显示此弹出窗口?

例如,是否可以告诉Windows任何位于特定目录下的redis-server.exe是否可以使用该网络?

这特别令人讨厌,因为在这种情况下对话框没有任何用途。无论我选择单击允许访问还是取消,甚至只是忽略弹出窗口,测试仍将完成。但是,每次都会创建新的防火墙规则。

2 个答案:

答案 0 :(得分:4)

不知道它是否真的可行,但最好的解决方案是更改临时服务器上的监听设置,使其侦听127.0.0.1而不是0.0.0.0,导致它只接受来自的连接本地机器。对于测试来说,它是完全可以接受的,而这样的监听绝不会触发防火墙警告。

答案 1 :(得分:0)

我知道这篇文章与VisualStudio有关,但是我遇到了完全相同的问题,但是使用了 Intellij Java

Java 中,可以像下面的代码一样配置服务器以实现相同的目的(不显示防火墙警告):

RedisServer.builder().setting("bind 127.0.0.1")...build()

诀窍是设置值"bind 127.0.0.1"

使用此配置,不再显示防火墙警告。

我在GitHub(here)上的Embedded-redis项目中找到了答案。