Перейти к содержимому

Фотография

Как передать разные capabilities? (WebDriver)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 LaGrandePapa

LaGrandePapa

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 18 июля 2019 - 10:27

Добрый день.
Есть набор тестов, которые запускаются в разных браузерах, но проблема в том, что при инициализации нужно передавать разные capabilities для разных браузеров.
 

    [TestFixture(typeof(FirefoxDriver))]
    [TestFixture(typeof(ChromeDriver))]
    public class Tests<TWebDriver> where TWebDriver : IWebDriver, new()
    {
        private IWebDriver driver;
        private WebDriverWait _wait;
 
        [SetUp]
        public void Start()
        {
            this.driver = new TWebDriver();
 
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
            _wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
        }
 
        [Test]
        public void FirstTest()
        {
 
        }
 
        [Test]
        public void SecondTest()
        {
 
        }
 
        [TearDown]
        public void Stop()
        {
            driver.Quit();
            driver = null;
        }

Я так понимаю, что до инициализации driver в SetUp  нужно уже передать capabilities, но не представляю как это сделать.

Заранее благодарен.

P.S. лучше поподробнее, попроще и с примерами, а то могу не понять)

  • 0

#2 rlabs

rlabs

    Специалист

  • Members
  • PipPipPipPipPip
  • 660 сообщений
  • Город:Россия, Санкт-Петербург

Отправлено 01 августа 2019 - 05:12

примерно так: https://stackoverflow.com/a/28482115


  • 0

#3 pbezpal

pbezpal

    Активный участник

  • Members
  • PipPip
  • 79 сообщений
  • ФИО:Безпалько Павел

Отправлено 01 августа 2019 - 07:34

Используйте WebDriverFactory, очень удобная вещь

 

https://www.selenium...verfactory.html

 

Вот мой пример, правда с использованием Winium, но думаю смысл понятен

cap = new DesiredCapabilities();
//System.out.println("Инициализирован WebDriver на порту 9999");
cap.setCapability("app", "C:\\Program Files (x86)\\SoftPhone\\CLIENT\\SoftPhoneClient.exe");
//System.out.println("Клиент it-phone запущен");
cap.setCapability("launchDelay", "5");

try {
return WebDriverPool.DEFAULT.getDriver(new URL("http://localhost:9999"), cap);
} catch (MalformedURLException e) {
return null;
}

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных