2017-04-07 13 views
-1

SeleniumとChromeウェブドライバを使用してC#で動作テストを書いています。ローカルデバッグに加えて、C#がサイトのホスト名をステージングIPアドレスに解決するように強制することで、ステージングコンテキストの変更をテストしたいと考えています。C#での任意のホスト名/ IPアドレスの解決

C:\ windows \ system32 \ drivers \ etc \ hostsを編集せずに、特定のホスト名に任意のIPアドレスを設定し、実際のDNSレコードを設定しない方法はありますか?私は、次の呼び出しを行うとき

は、例えば、私はセレンが、私は手動で私のデバッグアプリケーションのコンテキスト内で設定することができますIPアドレスに行きたい:あなたの行動試験が取るべき

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

答えて

0

/読みいくつかの設定ソース(カスタム設定ファイル、環境変数など)を設定し、そのソースからサイトアドレスを取得します。したがって、テストでホストファイルやコードを変更するのではなく、設定を変更するだけです。

また、理想的な世界では、ステージングと環境保護のために異なるホスト名を使用する必要があります。また、あなたの場合、ホスト名ではなくテストで直接IPアドレスを使用できます。

+0

あなたの回答は私が質問した質問とは関係ありません。アドバイスありがとう、ありがとうございます。 – v623

+0

@ v623私の主張は、あなたが他の方向に考えなければならないことです。ホスト名解決の回避策ではなく、これはもっと汚いハックのようです – Set

0

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"]); 
    } 
関連する問題