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

目前我们的测试在网址中有一个特定的主机名(例如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地址,可以使用以下两个选项:

>将IP地址保存在文件中.使用语言库从文件中读取值并将其设置为变量.在引用URL的任何位置使用该变量.例如:driver.get(“http://”变量“/”)来获取主页.
>使用测试框架功能.参数化(testng,example中的参数)或数据引用.这允许您在代码外定义值,然后在代码中使用变量名称引用该值.与第一个选项相同,但避免了文件读取活动.在运行期间,更改值,以便它将反映在任何地方.

请告诉我们您使用的语言和框架,以便我可以尝试根据上述选项提供准确的解决方案.

点赞