如何让Selenium Driver将主机名解析为另一个ip?

时间:2017-01-17 07:35:23

标签: selenium

目前,我们的测试在网址中有一个特定的主机名(例如http://foo.bar/whatever

我们希望在运行测试时将foo.bar解析为不同的IP。

手动我们会通过更改主机文件或使用这段c#代码来完成此操作:

var request = (HttpWebRequest)WebRequest.Create("http://ip-of-foobar/whatever");
request.Host = "foo.bar";

我们需要拥有正确的主机名...也许在Selenium中有另一种设置请求标头的方法吗?

1 个答案:

答案 0 :(得分:1)

据我所知,selenium中没有API来设置要打开浏览器的服务器的IP。 get()获取包含域名或IP地址的URL。您无法使用C#库设置值。

如果您想将域名更改为IP地址,可以使用以下两个选项:

  1. 将IP地址保存在文件中。使用language libraries从文件中读取值并将其设置为variable。在引用URL的任何位置使用该变量。例如:driver.get("http://"+variable+"/")获取主页。
  2. 使用test framework capabilities。参数化(parameterexample)或testng中的data references。这允许您在代码外定义值,然后在代码中使用变量名称引用该值。与第一个选项相同,但避免了文件读取活动。在运行期间,更改值,以便它将反映在任何地方。
  3. 请告诉我们您使用的语言和框架,以便我可以尝试根据上述选项提供准确的解决方案。