将硒与电子框架联系起来 (c#)

Linking selenium with electron framework (c#)

我已经使用 Selenium webdriver 在 C# 中编写了几行代码。当我的应用程序转移到 Electron 框架时,一切都变了,老实说,我现在不知道如何处理它。

你能给我解释一下吗?我应该采取什么步骤来简单开始......我想继续我在当前项目(selenium,C#)中的工作,但我不确定这是否可能,或者我应该完全从头开始使用不同的语言和框架?

我已经阅读了有关 Spectron 的信息,并查看了 Whosebug 等互联网资源,但是我仍然处于无意识状态...

带有 mocha 的 Spectron 应该更快。

但这里仍然是您 need.This 的 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 和 .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");

但是如果你想运行打包electron应用程序(*.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);

这可能会有所帮助,因为我知道不同的电子应用程序是基于使用不同版本的驱动程序构建的。

为 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();
        }
    }
}