Привязка Atata к экземпляру браузера

#c# #google-chrome #atata

#c# #google-chrome #atata

Вопрос:

Я знаю, что в Selenium есть способ запустить браузер (по крайней мере, в Chrome), а затем подключиться к этому экземпляру. Можете ли вы сделать то же самое через Atata?

Ответ №1:

Вот пример, который запускает Chrome, а затем присоединяет Atata (экземпляр ChromeDriver) к созданному Chrome.

 // Set static or find available port number:
int chromePort = 9222;

// Run Chrome process:
Process chromeProcess = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = @"C:Program Files (x86)GoogleChromeApplicationchrome.exe",
        Arguments = $"https://demo.atata.io/ --new-window --remote-debugging-port={chromePort} --user-data-dir=C:\Temp"
    }
};

chromeProcess.Start();

// Create Atata context attached to the Chrome:
AtataContext.Configure()
    .UseChrome()
        .WithOptions(x => x.DebuggerAddress = $"127.0.0.1:{chromePort}")
    .Build();

// Do some actions using Atata:
Go.To<OrdinaryPage>(url: "https://demo.atata.io/products")
    .PageTitle.Should.Contain("Products");

// Clean up (just don't do it exactly like here. Use "using (...)", etc.):
AtataContext.Current.Dispose();
chromeProcess.CloseMainWindow();
chromeProcess.Dispose();
  

Главное, что нужно прикрепить к Chrome .UseChrome().WithOptions(x => x.DebuggerAddress = $"127.0.0.1:{chromePort}") .