Files
OpenBullet/RuriLib/ViewModels/RLSettings/SettingsSelenium.cs
T
2019-03-31 12:18:26 +02:00

50 lines
2.4 KiB
C#

using System.Collections.Generic;
namespace RuriLib.ViewModels
{
/// <summary>
/// The Type of supported Browser to drive via selenium.
/// </summary>
public enum BrowserType
{
/// <summary>Google Chrome</summary>
Chrome,
/// <summary>Mozilla Firefox</summary>
Firefox
}
/// <summary>
/// Provides selenium-related settings.
/// </summary>
public class SettingsSelenium : ViewModelBase
{
private BrowserType browser = BrowserType.Chrome;
/// <summary>The Browser to be used.</summary>
public BrowserType Browser { get { return browser; } set { browser = value; OnPropertyChanged(); } }
private bool headless = false;
/// <summary>Whether to run the browser in Headless mode (--headless argument).</summary>
public bool Headless { get { return headless; } set { headless = value; OnPropertyChanged(); } }
private string firefoxBinaryLocation = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
/// <summary>The location of the firefox.exe binary on disk.</summary>
public string FirefoxBinaryLocation { get { return firefoxBinaryLocation; } set { firefoxBinaryLocation = value; OnPropertyChanged(); } }
private string chromeBinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";
/// <summary>The location of the chrome.exe binary on disk.</summary>
public string ChromeBinaryLocation { get { return chromeBinaryLocation; } set { chromeBinaryLocation = value; OnPropertyChanged(); } }
private List<string> chromeExtensions = new List<string>();
/// <summary>The list of .crx extensions for Chrome inside the ChromeExtensions folder. Extensions don't work in Headless mode!</summary>
public List<string> ChromeExtensions { get { return chromeExtensions; } set { chromeExtensions = value; OnPropertyChanged(); } }
private bool drawMouseMovement = true;
/// <summary>Whether to draw red dots to follow the mouse movement when a MOUSEACTION command is issued.</summary>
public bool DrawMouseMovement { get { return drawMouseMovement; } set { drawMouseMovement = value; OnPropertyChanged(); } }
private int pageLoadTimeout = 60;
/// <summary>The default timeout for page load in the browser.</summary>
public int PageLoadTimeout { get { return pageLoadTimeout; } set { pageLoadTimeout = value; OnPropertyChanged(); } }
}
}