Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中解析任意主机名/IP地址#_C#_.net_Debugging - Fatal编程技术网

C# 在C语言中解析任意主机名/IP地址#

C# 在C语言中解析任意主机名/IP地址#,c#,.net,debugging,C#,.net,Debugging,我正在用C#编写行为测试,使用Selenium和Chrome web驱动程序。除了本地调试之外,我还想通过强制C#将站点的主机名解析为临时IP地址来测试临时上下文中的更改 有没有一种方法可以为给定主机名设置任意IP地址,而无需编辑C:\windows\system32\drivers\etc\hosts,也无需设置实际的DNS记录 例如,当我进行以下调用时,我希望Selenium转到可以在调试应用程序上下文中手动设置的IP地址: using(var driver = new ChromeDriv

我正在用C#编写行为测试,使用Selenium和Chrome web驱动程序。除了本地调试之外,我还想通过强制C#将站点的主机名解析为临时IP地址来测试临时上下文中的更改

有没有一种方法可以为给定主机名设置任意IP地址,而无需编辑C:\windows\system32\drivers\etc\hosts,也无需设置实际的DNS记录

例如,当我进行以下调用时,我希望Selenium转到可以在调试应用程序上下文中手动设置的IP地址:

using(var driver = new ChromeDriver())
{
    driver.Navigate().GoToUrl(url);
}

您的行为测试应该在安装步骤中获取/读取一些配置源(自定义配置文件、环境变量等),并从该源获取站点地址。因此,您只需更改配置设置,而不是在测试中更改主机文件或代码


此外,在理想情况下,您应该为暂存和生产环境使用不同的主机名。。。在您的情况下,您可以在测试中直接使用IP地址,而不是主机名。

您只需将该值添加到app.config,并根据您想要使用的环境更改url即可

    //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"]);
   }
//app.config文件
使用系统配置;
使用(var driver=new ChromeDriver())
{
driver.Navigate().gotour(ConfigurationManager.AppSettings[“URL]”);
}

你的回答与我问的问题无关。谢谢你的建议,但不谢谢。@v623我的观点是你应该从另一个方向考虑,而不是解决主机名解析的问题,因为这更像是一个肮脏的黑客行为