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

kramberg

Регистрация: 28 авг 2014
Offline Активность: 23 мар 2018 10:05
-----

Мои сообщения

В теме: Выпадающий список Selenium C#

10 ноября 2016 - 14:53

Ну так логично.

В проекте имеется класс SelectElement, пустой неимплементированный шаблон. Скорее всего, сами его и создали по неосторожности.

И берется именно он, а не из Селениума.

Иначе бы в коде теста была директива ```using OpenQA.Selenium.Support.UI```, где и лежит настоящий SelectElement.

 

Стыдно говорить вслух, но да, сработало) Огромное спасибо всем старшим товарищам за помощь, сегодня я стал немного умнее.


В теме: Выпадающий список Selenium C#

10 ноября 2016 - 13:01

WebDriver 2.53.1.
FireFox 46.0.1

VS Community

Библиотеки:
 

using System;
using System.Configuration;
using System.Threading;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;

Возможно имеет смысл обновиться и попытаться с WebDriver 3.0.0 ? В общем если глобально, есть подозрение, что упускаю какую-то супер очевидную для всех мелочь, но т.к. я по факту ещё нуб, для меня это пока тайна и будет откровением) 

В дополнение, после завала теста StackTrace указывает в том числе на код:

using System;
using OpenQA.Selenium;
 
namespace DocumentovedUITests
{
    internal class SelectElement
    {
        private IWebElement webElement;
 
        public SelectElement(IWebElement webElement)
        {
            this.webElement = webElement;
        }
 
        internal void SelectByText(string v)
        {
            throw new NotImplementedException();
        }
    }
}

а именно на строку " throw new NotImplementedException();"

В теме: Выпадающий список Selenium C#

09 ноября 2016 - 14:19

Спасибо, поковырял возможные варианты, к решению пока не пришёл. Что я делал:
 

- отсюда http://stackoverflow...an-option-in-c 
написал код:

 

 var pretenders = driver.FindElement(By.XPath("//select"));
 
               var selectElement = new SelectElement(pretenders);
 
               selectElement.SelectByText("Трофимов Евгений Петрович"); 

Установил 

  • NuGet package "Selenium.WebDriver
  • NuGet package "Selenium.Support"

Ошибка не пропала, поведение такое же.

Так же пробовал такой вариант:
 

SelectElement select = new SelectElement(driver.FindElement(By.XPath("//select")));
           
select.SelectByText("Трофимов Евгений Петрович");
 
Понимаю, что скорее всего допускаю очевидные ошибки, прошу поделиться опытом и старших товарищей.

В теме: Локатор для кнопки попапа с динамическим ID

14 апреля 2016 - 13:56

Вполне может быть что у тебя в коде несколько окон и на данный момент теста только одно видимое. Добавляем условие contains(@style, 'display: block')

 

//div[contains(@id, 'popup') AND contains(@style, 'display: block')]//div[@class="buttons"]/button[text()='OK']

FirePath указывает верно, но Selenium IDE не находит. Но это уже огромный прогресс и мысль ясна! Большое спасибо.


В теме: Локатор для кнопки попапа с динамическим ID

14 апреля 2016 - 13:41

 

Нефиг тут бюрократию ворошить. Хуже будет!
 
Вот несколько примеров:
 

//div[contains(@id, 'popup') AND @class="buttons"]/button[text()='OK']

//div[@class="buttons"]/button[text()='OK']

//div[@class="buttons"]/button[1]

 

Спасибо за примеры! По всем 3-м к сожалению находится ещё 3-5 вариантов, соответственно локатор ссылается не на то что нужно. Пока честно говоря не знаю что делать, т.к. сроки есть, а разумным решением видится действительно продавливание разработчиков в сторону статичных id