Связывание селена с электронным каркасом (C#)
Я уже написал несколько строк кода на C# с использованием веб-драйвера Selenium. Поскольку мое приложение было перенесено в среду Electron, все изменилось и, честно говоря, я не знаю, как с этим справиться прямо сейчас.
Не могли бы вы объяснить это мне? Какие шаги я должен предпринять для простого запуска... Я хотел бы продолжить свою работу в текущем проекте (selenium, C#), но я не уверен, что это возможно, или я должен полностью начать с нуля, используя другой язык и фреймворк?
Я читал о Spectron, и проверил интернет-ресурсы, такие как stackru, однако я все еще на грани неосведомленности...
3 ответа
Спектрон с мокко должен быть быстрее.
Но все же вот что вам нужно. Это Java и Selenium.
System.setProperty("webdriver.chrome.driver","C:\\electron-chromedriver\\bin\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary("C:\\Users\\app.exe");
chromeOptions.addArguments("start-maximized");
DesiredCapabilities capability = new DesiredCapabilities();
capability.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
capability.setCapability("chromeOptions", chromeOptions);
driver = new ChromeDriver(chromeOptions);
Я использовал упакованное электронное приложение для двоичного (то есть) app.exe.
Я думаю, что это то, что вам нужно.
Попробуйте это для инициализации приложения Electron:
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
namespace Selenium_Demo
{
class Selenium_Demo
{
IWebDriver driver;
[SetUp]
public void Start_Browser()
{
ChromeOptions options = new ChromeOptions();
ChromeDriverService chromeService = ChromeDriverService.CreateDefaultService(@"C:\\selenium\\chromedriver_win32v\\chromedriver.exe",
@"C:\\Program Files\\Cerebrata\\Cerebrata.exe");
driver = new ChromeDriver(chromeService, options);
}
[Test]
public void Test()
{
System.Threading.Thread.Sleep(6000);
Console.WriteLine("Test Passed");
}
[TearDown]
public void Close_Browser()
{
driver.Quit();
}
}
}
Описанное ниже относится к использованию Electron с .Net C # OpenQA.Selenium.
Если вы хотите запустить электронное приложение, которое разрабатывается (состоит из файлов index.html, main.js и т. Д.), Вам необходимо добавить следующие параметры (обратите внимание на ' app = ' в аргументе cmd):
var options = new ChromeOptions();
options.BinaryLocation = @"your_path_to_electron\electron.exe";
options.AddArgument(@" app=path_to_folder_with_your_electron_app_src");
Но если вы хотите запустить упакованное электронное приложение (*.exe), достаточно использовать:
var options = new ChromeOptions();
options.BinaryLocation = @"path_to_folder_with_your_electron_app\your_electron_app.exe";
Также вы можете запустить любую версию chromedriver.exe :
var service = ChromeDriverService.CreateDefaultService(path_to_folder_with_driver);
var driver = new ChromeDriver(service, options);
Это может быть полезно, потому что я знаю, что разные электронные приложения построены на использовании драйверов разных версий.