如何让Selenium驱动程序将主机名解析为另一个ip



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

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

我们可以手动更改主机文件或使用以下c#代码:

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

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

据我所知,selenium中没有API来设置要打开浏览器的服务器的IP。get()采用包含域名或IP地址的URL。不能像使用C#库那样设置该值。

当您想将域名更改为IP地址时,以下是两个可用选项:

  1. 将IP地址保存在一个文件中。使用language libraries从文件中读取值,并将其设置为variable。在引用URL的任何位置使用该变量。示例:driver.get("http://"+variable+"/")以获取主页
  2. 使用test framework capabilities。参数化(例如testng中的parameter)或data references。这允许您在代码外定义值,然后在代码中使用变量名引用该值。与第一个选项相同,但避免了文件读取活动。在运行过程中,请更改值,使其在各处都能反映出来

请告诉我们您正在使用的语言和框架,这样我就可以根据上述选项给出确切的解决方案。

最新更新