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

Фотография

Получение текста из эдит бока


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

#1 {Bastion}Bizon

{Bastion}Bizon

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гавриков Станислав Влааадимирович

Отправлено 05 июня 2006 - 08:07

Есть эдит бокс. В нём есть текст. Пытаюсь его получить как описанно ниже и получаю фигу с маслом.

Window SetContext, "Type=Form;Name=MessageForm2", "Activate=0"
EditBox Click, "Type=EditBox;Name=textTrace", "Coords=1,8"
i = SQAGetProperty ("Type=EditBox;Name=textTrace","Text", f)
Print f

Что сдесь сделанно не так?

Образец взят из книги Ильи Виннеченко, "Автоматизация процессов тестирования".
  • 0

#2 Petr

Petr

    Опытный участник

  • Members
  • PipPipPipPip
  • 317 сообщений
  • ФИО:Можаев Петр
  • Город:Москва

Отправлено 05 июня 2006 - 09:15

Чему равно i после работы функции SQAGetProperty?
Переменные объявлены?
  • 0

#3 {Bastion}Bizon

{Bastion}Bizon

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гавриков Станислав Влааадимирович

Отправлено 05 июня 2006 - 11:26

Переменные объявлены. i = 1007. А f = ""
  • 0

#4 Petr

Petr

    Опытный участник

  • Members
  • PipPipPipPip
  • 317 сообщений
  • ФИО:Можаев Петр
  • Город:Москва

Отправлено 05 июня 2006 - 11:48

i = 1007

Ну вот и ответ на вопрос (см. help):
Numeric "1007"
Constant "sqaArraysNotSupported"
Description "No index was specified for an array of property values"

При правильной работе функция должна возвращать 0. Посмотрите, действительно ли у элемента есть свойство Text в том виде, в котором Вы это понимаете (с помощью Inspector, например).
  • 0

#5 Dedalus

Dedalus

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Obergan Sergei Nickolaevich

Отправлено 05 июня 2006 - 13:02

В эдит боксе текст хранится в массиве строк. И чтобы получить первую строку обращаться надо примерно таким образом:
Result=SQAGetProperty("Type=EditBox;Name=messageTB","Text(0)",S)
можно еще использовать SQAGetPropertyAsString. Соответственном вторая строка это Text(1) и т.д.
  • 0

#6 {Bastion}Bizon

{Bastion}Bizon

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гавриков Станислав Влааадимирович

Отправлено 05 июня 2006 - 13:34

Спасибо. Помогло. :victory:

Кстати! А в каком разделе хелпа надо искать коды ошибок?
Я только недавно с линукса и в виндовых справках абсолютно не ориентируюсь.
  • 0

#7 greyver

greyver

    Опытный участник

  • Members
  • PipPipPipPip
  • 358 сообщений
  • ФИО:Вербенко Сергей Анатольевич
  • Город:Москва, Зеленоград


Отправлено 05 июня 2006 - 14:23

Кстати! А в каком разделе хелпа надо искать коды ошибок?
Я только недавно с линукса и в виндовых справках абсолютно не ориентируюсь.

Просмотр сообщения

Так же как и линуксе. Раздел называется - поиск. :victory:
  • 0

#8 {Bastion}Bizon

{Bastion}Bizon

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гавриков Станислав Влааадимирович

Отправлено 06 июня 2006 - 09:51

Очень смешно!!! :victory:
Если в линухе я ищу поиск в строке, то по ключевым словам find & string я нахожу название нужной мне функции. Здесь- же я по этим ключевым словам найду фигу с маслом. И никак не догадаюсь, что нужная мне функция называется Like.
Сооответственно по словам index, cod, errors я нашёл всё тот-же кукиш.
  • 0

#9 greyver

greyver

    Опытный участник

  • Members
  • PipPipPipPip
  • 358 сообщений
  • ФИО:Вербенко Сергей Анатольевич
  • Город:Москва, Зеленоград


Отправлено 06 июня 2006 - 10:24

Очень смешно!!!  :victory:
Если в линухе я ищу поиск в строке, то по ключевым словам find & string я нахожу название нужной мне функции. Здесь- же я по этим ключевым словам найду фигу с маслом. И никак не догадаюсь, что нужная мне функция называется Like.
Сооответственно по словам index, cod, errors я нашёл всё тот-же кукиш.

Просмотр сообщения

Причем тут LIKE я не понял, но описание возвращаемого вам кода находится на раз. Так что иногода полезно искать "в лоб", чему неоднократно убеждаешься работая и с unix.

Удачи.
  • 0

#10 k0tin

k0tin

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Konstantin

Отправлено 06 июня 2006 - 12:35

В роботе отличный контекстный хелп - встаёшь на функцию и жмёте Ф1, того что там написано достаточно и даже больше
Что взятия пропертей из окошка - попробуй использовать Инспектора - наведи им на форму, найди в списке пропертей нужный текст и скопируй контекст этого контрола. Потом вставляешь его из буфера в функцию SQAGetProperty и всё должно заработать.

Удачи,
  • 0

#11 {Bastion}Bizon

{Bastion}Bizon

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

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гавриков Станислав Влааадимирович

Отправлено 06 июня 2006 - 13:55

Спасибо. Но у меня такое ощущение, что чтобы что-нибуть найти в этом хелпе.
Надо как минимум, знать как это что-то называется. В отличае от линухового хелпа.
  • 0

#12 greyver

greyver

    Опытный участник

  • Members
  • PipPipPipPip
  • 358 сообщений
  • ФИО:Вербенко Сергей Анатольевич
  • Город:Москва, Зеленоград


Отправлено 06 июня 2006 - 14:53

Очень смешно!!!  :victory:
Если в линухе я ищу поиск в строке, то по ключевым словам find & string я нахожу название нужной мне функции. Здесь- же я по этим ключевым словам найду фигу с маслом. И никак не догадаюсь, что нужная мне функция называется Like.
Сооответственно по словам index, cod, errors я нашёл всё тот-же кукиш.

Просмотр сообщения

Причем тут LIKE я не понял.

Просмотр сообщения

Понял, что имелось в виду. :help:
То что, в линуксовом хелпе можно найти нужную функцию поиска подстроки через ключевые слова "find & string" не означает, что в роботовском хелпе, по этим же ключевым словам должны выдаваться нужнуя функция. Like допустим, ищется по "match pattern" и я не вижу, чем эти слова менее ключевые для подобной функции, чем "find & string". Так что надо тщательнее рыть... :dirol:
  • 0

#13 Tanya_

Tanya_

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

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 23 июня 2006 - 11:47

В эдит боксе текст хранится в массиве строк. И чтобы получить первую строку обращаться надо примерно таким образом:

Result=SQAGetProperty("Type=EditBox;Name=messageTB","Text(0)",S)
можно еще использовать SQAGetPropertyAsString. Соответственном вторая строка это Text(1) и т.д.

Просмотр сообщения



а мне не помогло для combo-box, у него есть пропертя "Text" и есть пропертя "ItemIndex", но на строки
Result=SQAGetProperty("Type=ComboBox;ObjectIndex=2","Text(0)",S) или
Result=SQAGetProperty("Type=ComboBox;ObjectIndex=2","ItemIndex(0)",S)
в переменную S нифига не занеслось :(
кто знает,как прочитать названия элементов combo-box ? :dirol:
  • 0

#14 Dedalus

Dedalus

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Obergan Sergei Nickolaevich

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

Tanya,

а мне не помогло для combo-box, у него есть пропертя "Text" и есть пропертя "ItemIndex", но на строки
Result=SQAGetProperty("Type=ComboBox;ObjectIndex=2","Text(0)",S) или
Result=SQAGetProperty("Type=ComboBox;ObjectIndex=2","ItemIndex(0)",S)
в переменную S нифига не занеслось :(
кто знает,как прочитать названия элементов combo-box ?

какое значение принимает result после выполнения вашего кода? и делаете ли перед этим setcontext окна с комбо-боксом?
  • 0

#15 Dedalus

Dedalus

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Obergan Sergei Nickolaevich

Отправлено 26 июня 2006 - 11:34

у меня таким образом все работает:
   Window SetContext, "Type=Form;Name=NotificationSubscriptionForm", ""
    Result=SQAGetProperty("Type=ComboBox;Name=userComboBox","Items(5)",S)

  • 0

#16 Tanya_

Tanya_

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

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 26 июня 2006 - 14:36

у меня таким образом все работает:

   Window SetContext, "Type=Form;Name=NotificationSubscriptionForm", ""
    Result=SQAGetProperty("Type=ComboBox;Name=userComboBox","Items(5)",S)

Просмотр сообщения



путём перебора всевозможных пропертей,получила результат в S через ItemData(n) , но в виде строки, в которой число,а не текст из комбобокса :\
что бы это могло быть и как с этим бороться? :)
  • 0

#17 Dedalus

Dedalus

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

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Obergan Sergei Nickolaevich

Отправлено 26 июня 2006 - 16:13

Бери значения из Items(n) и будет тебе счастье
  • 0

#18 serega

serega

    Опытный участник

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 27 июня 2006 - 06:30

путём перебора всевозможных пропертей,получила результат в S через ItemData(n) , но в виде строки, в которой число,а не текст из комбобокса :\
что бы это могло быть и как с этим бороться? :)

Просмотр сообщения


Возможно, это номер строки, в которой содержится значение комбо-бокса
  • 0

#19 Tanya_

Tanya_

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

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 27 июня 2006 - 06:50

Бери значения из Items(n) и будет тебе счастье

Просмотр сообщения



оно на Items(n) говорит Result=1005 :(
а на ItemData(n) записывает в S строку с совершенно диким числом
комбобокс стандартный
  • 0

#20 Tanya_

Tanya_

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

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 21 июля 2006 - 08:59

товарищи, подскажите плиз
хочу обратиться к елементу листа по имени елемента
есть строка
ListView Click, "ObjectIndex=2;\;Item=0013", "Coords=22,6"
тут "0013" - имя элемента, хочу сделать универсальный вариант, пишу в переменную
s= "0013"
ListView Click, "ObjectIndex=2;\;s", "Coords=22,6"
и ничего не выбирается
вариации на тему
ListView Click, "ObjectIndex=2;\;Item" = s, "Coords=22,6"
ListView Click, "ObjectIndex=2;\;Item =" s, "Coords=22,6"
не проходят по синтаксису
в чем трабла, кто-то знает? :blush:
  • 0


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

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