2016-11-10 4 views
0

複数のブラウザ(IE、FF、Chrome)の自動テストでC#でSeleniumを実行していますが、FirefoxではなくChrome用に渡すテストがあります。ブラウザの種類を検出する方法

自動テストで現在使用されているブラウザの種類を検出する方法はありますか? https://www.nuget.org/packages/UAParser/

それはクライアントヘッダを読み、それを解析します:

+2

'((RemoteWebDriver)ドライバ).Capabilities.BrowserName'ない場合は、あなたが –

+0

こんにちは@OscarMartinezを試してみました何を示しています。私はこれを試してみましたが、Chromeはマイナーバージョンを返しますが、IEのみメジャーバージョン(11)を返します。 IE 11のマイナーバージョンをどうやって手に入れることができるか知っていますか? – AngieM

+0

@AngieMあなたはコンソールアプリケーションかASP.NETですか? –

答えて

0

あなたはナゲットからUAParserをインストールすることができ、次のコード

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
string s = "Browser Capabilities\n" 
    + "Type = "     + browser.Type + "\n" 
    + "Name = "     + browser.Browser + "\n" 
    + "Version = "     + browser.Version + "\n" 
    + "Major Version = "   + browser.MajorVersion + "\n" 
    + "Minor Version = "   + browser.MinorVersion + "\n" 
    + "Platform = "    + browser.Platform + "\n" 
    + "Is Beta = "     + browser.Beta + "\n" 
    + "Is Crawler = "    + browser.Crawler + "\n" 
    + "Is AOL = "     + browser.AOL + "\n" 
    + "Is Win16 = "    + browser.Win16 + "\n" 
    + "Is Win32 = "    + browser.Win32 + "\n" 
    + "Supports Frames = "   + browser.Frames + "\n" 
    + "Supports Tables = "   + browser.Tables + "\n" 
    + "Supports Cookies = "  + browser.Cookies + "\n" 
    + "Supports VBScript = "  + browser.VBScript + "\n" 
    + "Supports JavaScript = "  + 
     browser.EcmaScriptVersion.ToString() + "\n" 
    + "Supports Java Applets = " + browser.JavaApplets + "\n" 
    + "Supports ActiveX Controls = " + browser.ActiveXControls 
      + "\n" 
    + "Supports JavaScript Version = " + 
     browser["JavaScriptVersion"] + "\n"; 
+0

SeleniumテストプロジェクトでHttpRequestオブジェクトを取得するにはどうすればよいですか?私たちが扱っている唯一のオブジェクトはWebDriverです。 – AngieM

0

を使用してください。

Exemple:

//string uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3"; 

// Request the header 
    string uaString= HttpContext.Current.Request.UserAgent.ToString(); 

// get a parser with the embedded regex patterns 
    var uaParser = Parser.GetDefault(); 

    // get a parser using externally supplied yaml definitions 
    // var uaParser = Parser.FromYamlFile(pathToYamlFile); 
    // var uaParser = Parser.FromYaml(yamlString); 

    ClientInfo c = uaParser.Parse(uaString); 

    Console.WriteLine(c.UserAgent.Family); // => "Mobile Safari" 
    Console.WriteLine(c.UserAgent.Major); // => "5" 
    Console.WriteLine(c.UserAgent.Minor); // => "1" 

    Console.WriteLine(c.OS.Family);  // => "iOS" 
    Console.WriteLine(c.OS.Major);   // => "5" 
    Console.WriteLine(c.OS.Minor);   // => "1" 

    Console.WriteLine(c.Device.Family); // => "iPhone" 
関連する問題