![Фотография](https://secure.gravatar.com/avatar/117cf2ddbb54815d685c694accf3e079?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Watin кнопка не может получить фокус
#1
Отправлено 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();".
Выдает такое сообщение: Невозможно переместить фокус на элемент управления, поскольку он невидим, не включен, либо такого типа, который не может иметь фокус.
#2
Отправлено 28 октября 2011 - 06:14
// удалим первую строку
var dellRow = browser.Buttons;
Я, может, неправильно себе представляю, но обычно в таких табличках, в которых в последней колонке есть "удалить", это не кнопка, а, ммм, гиперссылка.
Вот бы еще скриншотик, было бы круто)))
Через Firefinder в мозилее или F12 в эксплоере вы свою кнопку нашли?
Попробуйте нажать не на Button, а найти и через ID или текст "удалить кнопку" кликнуть.
Допустим, я не смогла кликнуть на кнопку поиска, и написала такую строку:
browser.Image(Find.BySelector("img.***")).Click();
Ну, знаете, обычно кнопки поиска такой лупой изображают. На нее и кликаю, и кликается!
Также искала по тексту/гиперлинку. Попробуйте! Не все сводится к элементу Button
![:friends:](http://software-testing.ru/forum/public/style_emoticons/default/friends.gif)
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/
#3
Отправлено 28 октября 2011 - 06:40
Я, может, неправильно себе представляю, но обычно в таких табличках, в которых в последней колонке есть "удалить", это не кнопка, а, ммм, гиперссылка.
на самом деле там может быть что угодно, обработчик click в javascript можно повешать абсолютно на любой элемент. На месте кнопки раньше бал текст, но по нему кликнуть тоже не удавалось. Поэтому я и решил поставить кнопку.
Через Firefinder в мозилее или F12 в эксплоере вы свою кнопку нашли?
Да нашел.
Щас попробую обратно текст вернуть и по нему кликнуть
#5
Отправлено 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 - это текст.
Вы пытаетесь кликнуть на текст.
А на скрине самой программки я тоже не вижу, чтобы это кнопка была.
Делайте гиперлинком ее тогда
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных