2016-07-07 10 views
0

Ich versuche, meine Tests in einer anderen lokalen Maschine auszuführen, aber ich scheitere immer am Ende! Ich habe Videos gesehen, die erfolgreich in JAVA implementiert wurden, aber ich versuche es über C# zu machen.Selen Grid in C#

Irgendwelche Ideen werden am meisten geschätzt!

public class Driver 
{ 
    public static IWebDriver Instance { get; set; } 

    public static void Initialize() 
    { 
     IWebDriver driver; 
     driver = new ChromeDriver(); 

     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities = DesiredCapabilities.Chrome(); 
     capabilities.SetCapability(CapabilityType.BrowserName, "chrome"); 
     capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows)); 


     driver = new RemoteWebDriver(new Uri("http://localhost:4446/wd/hub"), capabilities); 
    } 
    public static void Close() 
    { 
     Instance.Dispose(); 
     Instance = null; 
    } 
+0

Sind Sie sicher, dass Ihr Selenium-Server läuft unter "http: // localhost: 4446/wd/hub"? Ich denke, Standard-Port ist 4444, nicht 4446. Wenn Ports in Ordnung sind, dann versuchen Sie, 'localhost' zu' http: // 127.0.0.1' zu ändern. Info über Adressen wird gedruckt, wenn Sie Selenserver starten, Beispiel: '10: 57: 39.174 INFO - RemoteWebDriver-Instanzen sollten eine Verbindung herstellen zu: http: //127.0.0.1: 4444/wd/hub' – kotoj

Antwort

0
  1. sollten Sie Remote-uri Ihrer Grid-Instanz anstelle von lokalen und sicherzustellen, dass Sie Chrom mindestens installiert haben, auf einen der Knoten. Wenn Sie Selen Grid lokal verwenden möchten, starten Sie zunächst den lokalen Hub mit selen-server-standalone.jar. Sie sollten Informationen von here

  2. verwenden Sie auch nicht diesen Code benötigen:

    driver = new ChromeDriver();` - you need RemoteWebDriver directly 
    
  3. Für mich dieser Code funktioniert perfekt:

    var uri = 'uri_to_your_grid_hub'; 
    var capabilities = new ChromeOptions().ToCapabilities(); 
    var commandTimeout = TimeSpan.FromMinutes(5); 
    var driver = new RemoteWebDriver(new Uri(uri),capabilities,commandTimeout)