我正在尝试将IP地址设置更改为主机文件中的特定站点。 例如:
# 123.123.123 www.google.com
# 456.456.456 www.google.com
我想进行一次测试,确定我是通过123.123.123
输入Google的,并且随着程序的更改,我需要通过456.456.456
打开Google。
手动更改服务器是从行首删除#。 我不想在某些计算机上使用硒网格,因为另一台服务器上的任何计算机都没有资源。
我想在运行代码的同时在同一台机器上进行更改。
答案 0 :(得分:0)
由于etc/hosts
文件被系统立即拾取而无需重新启动,因此您可以在运行期间操纵甚至完全覆盖此文件。
麻烦是要编辑主机文件,您需要具有“ root”权限,并且实际上是在更改主机系统的行为。为了防止这种情况,您可能会考虑在docker环境中运行,但是如果不可能,则可以通过root用户访问权限来执行以下操作:
/etc/hosts
文件
# 123.123.123 www.google.com
# 456.456.456 www.google.com
作为测试运行的一部分:
# at start of run
sed -i .bak 's/# 123.123.123/123.123.123/g' /etc/hosts
# do other tests now
# later when stuff has changed
sed -i .bak 's/123.123.123/456.456.456/g' /etc/hosts
像这样吗?