我正在使用Selenium和Chrome网络驱动程序在C#中编写行为测试。除了本地调试之外,我还想通过强制C#将我们站点的主机名解析为暂存IP地址来测试暂存上下文中的更改。
有没有办法为给定的主机名设置任意IP地址,而无需编辑C:\ windows \ system32 \ drivers \ etc \ hosts,也无需设置实际的DNS记录?
例如,当我进行以下调用时,我希望Selenium转到我可以在调试应用程序的上下文中手动设置的IP地址:
rowwise
答案 0 :(得分:0)
您的行为测试应该在设置步骤中获取/读取一些配置源(自定义配置文件,环境变量等),并从该源获取站点地址。因此,您只需更改配置设置,而不是更改测试中的主机文件或代码。
另外,在理想的世界中,你应该为staging和prod环境提供不同的主机名......在你的情况下,你可以直接在测试中使用IP地址,而不是主机名。
答案 1 :(得分:0)
您可以将值添加到app.config中,并根据您要使用的环境更改网址。
//app.config file
<add key="URL" value="http://123.45.67.89/" />
using System.Configuration;
using(var driver = new ChromeDriver())
{
driver.Navigate().GoToUrl(ConfigurationManager.AppSettings["URL"]);
}