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

Фотография

Watin кнопка не может получить фокус


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

#1 jaguar7021

jaguar7021

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Уфимцев Дмитрий Юрьевич

Отправлено 28 октября 2011 - 05:40

Доброго времени суток.

Проблема следующая: есть страничка "создать новый заказ", на ней имеется табличка, для пользователя она отображается пустой, т.е. в ней нет строк. При клике по кнопке "Добавить запись" в табличку вставляется одна строка, с тремя ячейками, одна из ячеек содержит кнопку "Удалить запись". И вот эта кнопка (Удалить запись) не может получить фокус.

Код:
[Test]
[RequiresSTA]
public void TestAddAndDellRowEditableGrid()
{
using (
var browser =
new IE(@"http://localhost:127...ables/1/create"))
{
// проверяем сколько строк в таблице (при создании новой записи должно быть 2)
var table = browser.Table(t => t.ClassName == "DitailsGrid");
Assert.AreEqual(2, table.TableRows.Count);

// добавляем строчки
var buttAddRow = browser.Button(Find.ById("buttAddRow"));
buttAddRow.Focus();
buttAddRow.Click();
buttAddRow.Blur();
Assert.AreEqual(3, table.TableRows.Count);

// удалим первую строку
var dellRow = browser.Buttons;
dellRow[1].Focus();
dellRow[1].Click();
Assert.AreEqual(2, table.TableRows.Count);
}
}

падает на ошибку в этой строке "dellRow[1].Focus();".
Выдает такое сообщение: Невозможно переместить фокус на элемент управления, поскольку он невидим, не включен, либо такого типа, который не может иметь фокус.
  • 0

#2 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 226 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 28 октября 2011 - 06:14

А почему вы удаляете через Button ?

// удалим первую строку
var dellRow = browser.Buttons;


Я, может, неправильно себе представляю, но обычно в таких табличках, в которых в последней колонке есть "удалить", это не кнопка, а, ммм, гиперссылка.

Вот бы еще скриншотик, было бы круто)))

Через Firefinder в мозилее или F12 в эксплоере вы свою кнопку нашли?
Попробуйте нажать не на Button, а найти и через ID или текст "удалить кнопку" кликнуть.

Допустим, я не смогла кликнуть на кнопку поиска, и написала такую строку:

browser.Image(Find.BySelector("img.***")).Click();


Ну, знаете, обычно кнопки поиска такой лупой изображают. На нее и кликаю, и кликается!

Также искала по тексту/гиперлинку. Попробуйте! Не все сводится к элементу Button :friends:
  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#3 jaguar7021

jaguar7021

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Уфимцев Дмитрий Юрьевич

Отправлено 28 октября 2011 - 06:40

Я, может, неправильно себе представляю, но обычно в таких табличках, в которых в последней колонке есть "удалить", это не кнопка, а, ммм, гиперссылка.


на самом деле там может быть что угодно, обработчик click в javascript можно повешать абсолютно на любой элемент. На месте кнопки раньше бал текст, но по нему кликнуть тоже не удавалось. Поэтому я и решил поставить кнопку.

Через Firefinder в мозилее или F12 в эксплоере вы свою кнопку нашли?


Да нашел.

Щас попробую обратно текст вернуть и по нему кликнуть
  • 0

#4 jaguar7021

jaguar7021

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Уфимцев Дмитрий Юрьевич

Отправлено 28 октября 2011 - 06:49

всеравно не получается вот скриншот
Прикрепленный файл  1.bmp   521,15К   6 Количество загрузок:

и вот такой код:
var dellRow = browser.Span(Find.ByClass("buttDelRow"));
dellRow.Click();

и через var dellRow = browser.Span(Find.ByText("Удалить запись")); тоже не канает
  • 0

#5 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 226 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 28 октября 2011 - 07:17

всеравно не получается вот скриншот
Прикрепленный файл  1.bmp   521,15К   6 Количество загрузок:

и вот такой код:
var dellRow = browser.Span(Find.ByClass("buttDelRow"));
dellRow.Click();

и через var dellRow = browser.Span(Find.ByText("Удалить запись")); тоже не канает


У вас там, что по рисунку слева, что по рисунку справа явно видно, что кнопки то и нет :)
SPAN - это текст.
Вы пытаетесь кликнуть на текст.

А на скрине самой программки я тоже не вижу, чтобы это кнопка была.
Делайте гиперлинком ее тогда
  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/


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

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