Watir:替换主机文件的替代方法?

时间:2014-02-24 10:51:47

标签: ruby watir hosts web-testing hosts-file

我使用watir来测试网站的测试版本。为此,我必须修改我的hosts-file

有没有办法在不修改hosts文件的情况下获得相同的结果?

用调用uri中的ip-address替换域的明显想法不起作用。

背景

我将主机定义为

10.10.10.10 http://www.example.net/

然后我测试:

  1. 我致电http://www.example.net/myapp
  2. 网站重定向到登录页面,然后输入我的信用(自动)。
  3. 授权检查后,该网站再次调用http://www.example.net/myapp_auth
  4. 步骤3中的此调用不是相对调用(实际域的子页面),而是具有完整URL的调用。 如果主机没有更改,我的http://10.10.10.10/myapp测试将在我的测试系统(10.10.10.10)中进行授权测试,然后在http://www.example.net/上调用生产系统。

    到目前为止我的想法(以及为什么我不使用它们):

    • 在通话中使用IP - 这不起作用,见上文。
    • 登录后在测试系统中自己调用 - 步骤3中的URL是动态定义的,这是我测试序列中不需要的修改。
    • 在我的测试中集成hosts文件更改。 - 使用此解决方案,我的测试必须以管理员身份运行以更改主机文件(我在Win7上)。

    所以我的问题是:有没有办法将watir与一种内部主机文件一起使用?

1 个答案:

答案 0 :(得分:1)

您可以使用rubydns之类的东西设置一个简单的DNS服务器,将其添加到您的DNS查找列表的localhost上。如果它不在那里,DNS查找应该通过(并快速在本地环回),如果它在那里,你可以将example.net引导回本地主机上的所有呼叫者。