2016-07-07 97 views
0

我想在另一台本地机器上运行我的测试,但我总是失败!我已经看到视频在JAVA中成功实现,但我试图通过C#来完成。C中的硒网格#

任何想法都非常感谢!

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

你确定你的Selenium服务器在'http:// localhost:4446/wd/hub'上运行?我认为默认端口是4444,而不是4446.如果端口正常,则尝试将'localhost'更改为'http:// 127.0.0.1'。有关地址的信息会在您启动selenium服务器时打印,例如:10:57:39.174信息 - RemoteWebDriver实例应连接到:http://127.0.0.1:4444/wd/hub' – kotoj

回答

0
  1. 你应该用你的网格实例,而不是本地的远程URI,并确保已安装Chrome,至少在你的节点之一。如果你想在本地使用硒网格,首先使用selenium-server-standalone.jar启动本地网络集线器。您应该使用从here

  2. 而且信息不需要验证码:

    driver = new ChromeDriver();` - you need RemoteWebDriver directly 
    
  3. 对于我这个代码工作完美:

    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)