#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}")
.