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

Фотография

WebDriver + FCKeditor


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

#1 SANDR

SANDR

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

  • Members
  • Pip
  • 47 сообщений
  • Город:Омск

Отправлено 27 февраля 2012 - 10:03

Столкнулся с такой проблемой
На сайте объявлений, есть обязательное поле от FCK редактора, пытаясь достучаться до него - выдает ошибку, хотя через Selenium IDE тест пробегает.
Пробовал и через RC и через WebDriver почти одно и тоже
SeleniumTests.Add_board.LKAddBoardTest:
OpenQA.Selenium.NoSuchElementException : The element could not be found

в OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
в OpenQA.Selenium.Remote.RemoteWebDriver.Execute(DriverCommand driverCommandToExecute, Dictionary`2 parameters)
в OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(String mechanism, String value)
в OpenQA.Selenium.By.FindElement(ISearchContext context)
в SeleniumTests.Add_board.LKAddBoardTest() в D:\MyTest\SeleniumWebDriver\****\****\***.cs:строка 100500

Вот код
//driver.FindElement(By.CssSelector("td.TB_Button_Text")).Click();
            //driver.FindElement(By.CssSelector("textarea.SourceField")).Clear();
            //driver.FindElement(By.CssSelector("textarea.SourceField")).SendKeys("Тест");
Тут я нажимаю на кнопку Source и вставляю текст
или так
driver.FindElement(By.XPath("//*[@id='xToolbar']/table[2]/tbody/tr/td[5]/div/img")).Click();
            for (int second = 0; ; second++)
            {
                if (second >= 60) Assert.Fail("timeout");
                try
                {
                    if (IsElementPresent(By.XPath("//textarea"))) break;
                }
                catch (Exception)
                { }
                Thread.Sleep(1000);
            }
            driver.FindElement(By.XPath("//textarea")).Clear();
            driver.FindElement(By.XPath("//textarea")).SendKeys("Описание объекта");
            driver.FindElement(By.Id("btnOk")).Click();
А тут я нажимаю на кнопку вставкы из txt или ворд, появляется формочка с кнопкой ок, туда пишется текст и подтвержадается

не могу сообразить как обмануть ввод текста, у кого нить есть идеи?
VS2010 + C#
  • 0

#2 TiMarron

TiMarron

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Тимур


Отправлено 29 февраля 2012 - 13:35

Если правильно понял, редактор находится в iframe и на него сначала надо переключиться.
примерно так получится:

driver.switchTo().frame("article[body]___Frame");       
driver.FindElement(By.CssSelector("td.TB_Button_Text")).Click();
driver.FindElement(By.CssSelector("textarea.SourceField")).Clear();
driver.FindElement(By.CssSelector("textarea.SourceField")).SendKeys("Тест");

подробности http://seleniumhq.or...dows-and-frames
  • 1

#3 SANDR

SANDR

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

  • Members
  • Pip
  • 47 сообщений
  • Город:Омск

Отправлено 11 марта 2012 - 09:05

Если правильно понял, редактор находится в iframe и на него сначала надо переключиться.
примерно так получится:

driver.switchTo().frame("article[body]___Frame");       
driver.FindElement(By.CssSelector("td.TB_Button_Text")).Click();
driver.FindElement(By.CssSelector("textarea.SourceField")).Clear();
driver.FindElement(By.CssSelector("textarea.SourceField")).SendKeys("Тест");

подробности http://seleniumhq.or...dows-and-frames


Спасибо, уже ближе) Остались коррективы
  • 0


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

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