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

Фотография

Проблема с методом ItemClick


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

#1 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 08 июня 2007 - 03:00

При первом обращении к ComboBox методом ItemClick значения выберается, а вот при втором обращении значения остается тоже самое что при первом обращении. Хоть и указываю при втором обращении другое значение методу ItemClick. Может есть какой-нибудь другой метод? Помогите кто может.
  • 0

#2 ArtemRudenko

ArtemRudenko

    Постоянный участник

  • Members
  • PipPipPip
  • 248 сообщений
  • ФИО:Руденко Артем Михайлович
  • Город:Минск


Отправлено 08 июня 2007 - 06:00

У меня замечательно срабатывает и обычный set_Text.
А как вы получаете Item, на котором кликаете?
Как вариант, я иногда работаю так:

oComboBoxNames = oSelectReportForm["panelTop_"]["comboBoxNames_"];
oNameItems = oComboBoxNames["Items"];
iNamesCount = oNameItems ["Count"];
for(indJ=0;indJ<iNamesCount;indJ++)
{
oCurNameItem = oNameItems ["get_Item"](indJ);
sCurItemName = oCurNameItem ["OleValue"];
if(Utilities["CompareStr"](sReportName,sCurItemName)==0)
{
oComboBoxNames["set_SelectedItem"](oCurNameItem);
...
break;
}
}
  • 0
И всё-таки она вертится...

#3 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 08 июня 2007 - 13:00

Для Artem Rudenko

Выбераю следующим образом.
В списке есть набор данных. Напримет (Да/Нет).

Для выбора "ДА" я пишу код.
Item('ComboBox').ClickItem('ДА');

Для выбора "НЕТ" я пишу код.
Item('ComboBox').ClickItem('НЕТ');
  • 0

#4 ArtemRudenko

ArtemRudenko

    Постоянный участник

  • Members
  • PipPipPip
  • 248 сообщений
  • ФИО:Руденко Артем Михайлович
  • Город:Минск


Отправлено 08 июня 2007 - 13:04

Хм, в таком варианте я бы наверное выбрал "set_SelectedText" или тот вариант который я описал , где sCurItemName=="ДА" и "НЕТ"
  • 0
И всё-таки она вертится...

#5 Genka

Genka

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

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 08 июня 2007 - 13:10

Хм, в таком варианте я бы наверное выбрал "set_SelectedText"


это метод .NET комбо-бокса, не факт, что в других средах разработки такое есть

D-007, уточните, на чем написано тестируемое приложение (веб, .НЕТ, делфи, джава?)
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#6 ArtemRudenko

ArtemRudenko

    Постоянный участник

  • Members
  • PipPipPip
  • 248 сообщений
  • ФИО:Руденко Артем Михайлович
  • Город:Минск


Отправлено 08 июня 2007 - 13:14

Упс про это я и не подумал как-то)) поспешил.

Сообщение отредактировал Artem Rudenko: 08 июня 2007 - 13:27

  • 0
И всё-таки она вертится...

#7 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 11 июня 2007 - 03:19

Проект написан на Java. И загружается и отображается через IE. А сами тесты написаны на Delphi.
  • 0

#8 Dmitry N

Dmitry N

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

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 12 июня 2007 - 07:22

Здравствуйте.

Проект написан на Java. И загружается и отображается через IE.

А можно немного поконкретнее? В данном случае возможны довольно различные варианты: JavaScript страница, Java апплет на странице, JSP страница, и т.п.

А ещё запостите скрипт, который TestComplete записывает с проблемным объектом.
  • 0
С уважением,
Дмитрий

#9 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 14 июня 2007 - 11:21

Этот код выдает при записи скрипта:

Sys.Process('IEXPLORE', 1).Window('IEFrame', '*').Window('Shell DocObject View').Window('Internet Explorer_Server').Page('https://192.163.55.222/rp/RP.html').document.all.dicActStatus_3.ClickItem('Ожидание регистрации');

А Java страница или JSP страница я точно не могу сказать.
  • 0

#10 UdarNIK

UdarNIK

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Эльясов Александр

Отправлено 15 июня 2007 - 06:15

D-007, напиши часть кода где происходит ошибка, так будет легче тебе сказать что исправить. В качестве аргумента ItemClick можно указывать либо порядковый номер элемента в combobox-е, либо внутренний тескт элемента, т.е как тебе приводили пример для "Yes" и "No". В принципе я использовал оба варианта и они работали. Тоже пишу на DelphiScript
  • 0

#11 Dmitry N

Dmitry N

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

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 15 июня 2007 - 16:54

Здравствуйте.

По всей видимости, у вас обычная веб страница с JavaScript кодом. Запостите сюда скрипт, с котором у вас проблемы.
  • 0
С уважением,
Дмитрий

#12 D-007

D-007

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Дамир
  • Город:Казахстан, Астана

Отправлено 22 июня 2007 - 03:37

Это часть кода

p.Item('dicYesNo').ClickItem('-'); // ---здесь выберает--------
str_log:=' выбран пункт "-" ';
p.refresh;
p.Item('btnSend_1').Click;
log_out_d(str_log);

p.Item('dicYesNo').ClickItem('Yes'); // ------здесь скрипт ломается--------
str_log:=' выбран пункт "Yes" ';
p.refresh;
p.Item('btnSend_1').Click;
log_out_d(str_log);

Но есть такая фишка. Если ComboBox находится в области видемости то все прекрасно выберается. Но если Combo находится вне области видемости то выберает через раз. Кстати эта проблема происходит только с одним Combo, остальные Combики которые находятся на этой же форме работают (Даже если они вне области видемости). А для этого проблемного обекта приходися использовать метод Scroll.
  • 0

#13 Dmitry N

Dmitry N

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

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 22 июня 2007 - 06:01

Здравствуйте.

Если работает стабильно, когда комбо бокс виден, попробуйте вызвать метод scrollIntoView(false).

p.Item('dicYesNo').scrollIntoView(false);
p.Item('dicYesNo').ClickItem('Yes');
  • 0
С уважением,
Дмитрий


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

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