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

Фотография

Test Complete и Web-приложения (Toolbar)


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

#1 kich

kich

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Козловский Дмитрий Николаевич

Отправлено 25 ноября 2010 - 08:56

Здраствуйте! Прежде всего спосибо администрацыи сайта за поддержку качествинного и хорошого форума как етот. Я ручной тестер и столкнулсо з вопросом автоматизацыи, а именно с помощю Test Complete.

Я новичок автоматизированого тестирования, после пересмотра ряда видео материалов и некоторых доков, коечто у меня начало получатса, но ето очень маленькая часточка того щто нужно. Возмоно я повторюсь потомушто перечитать весь форум сложно, я б хотел задать несколько вопросов:

Введение: Проект собой предстовляет "тулбар" которий интегритса в браузер (IE8; FF3.6) вот его я и буду тестить со сторони вебки и со сторони десктопа куда записуютса преференсы.

1. как правильно вибрать тип проекта для запису кликов в браузере, штобы он смог их воспроизвести а не выдавал ошыбку "The object does not exist"

2. как я могу запустить інсталяшку из папки без ошыбки "Overlapping window"

3. и последние, я использую Він7(64) - поетаму стоит "NCP Secure Client Entry" иногда имею проблеми с запису ТС - выбивает ошыбка...

И на конець: Я новичок тому буду очень признателен любым советам, и постараюсь освоить ето дело быстро :). Если есть кокойто опыт тестирувания тулбаров - подилитесь им, или хотябы кокойто книжкой для новичков. Извиняйте за ламаное написание, не родная мова, СПОСИБО НАПЕРЕД.
  • 0

#2 SergeyP

SergeyP

    Специалист

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

Отправлено 25 ноября 2010 - 09:07

Вопрос не по теме : Почему в теме много орфографических ошибок ? Тяжко читать такой текст...

PS
Когда идет набор, то ошибки подчеркиваются красным цветом...

PSPS
Осторожно предполагаю, что Вы из Республики Беларусь.
  • 0

#3 kich

kich

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Козловский Дмитрий Николаевич

Отправлено 25 ноября 2010 - 09:33

Да вы угадали) Я написал сори за орфографичные ошыбки :)
  • 0

#4 Dmitry N

Dmitry N

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

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

Отправлено 29 ноября 2010 - 18:34

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

Советую посмотреть Учебник по TestComplete на русском.

По поводу конкретных вопросов - они очень специфичные чтобы ответить не имея проекта, теста, лога и даже, может быть, приложения. Лучше задавать их по одному, предоставляя как можно больше информации: версия ТС, проект с логами.
  • 0
С уважением,
Дмитрий

#5 vlad407

vlad407

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

  • Members
  • Pip
  • 34 сообщений

Отправлено 03 декабря 2010 - 08:19

Подскажите каким образом в TestComplete 8 можно проверить существует ли элемент на странице сайта. Конкретно как проверить существует ли ссылка , существует ли кнопка , существует ли текстовое поле , вернуть в лог соответствующий результат .
Интересует не автогенерирование кода. Если возможно приведите пример кода в Jscript.
  • 0

#6 Dmitry N

Dmitry N

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

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

Отправлено 03 декабря 2010 - 16:51

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

Есть много способов. Например, можно использовать FindChild:
function test()
{
  var page = Sys.Process("iexplore").ToUrl("http://www.google.com");
  var btn = page.FindChild(["type", "value"], ["submit", "Google Search"], 100);
  if (btn.Exists) {
    Log.Message("Кнопка найдена");
  }
  else {
    Log.Message("Кнопка не найдена");
  }
}

  • 0
С уважением,
Дмитрий

#7 vlad407

vlad407

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

  • Members
  • Pip
  • 34 сообщений

Отправлено 06 декабря 2010 - 09:15

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

Есть много способов. Например, можно использовать FindChild:

function test()
{
  var page = Sys.Process("iexplore").ToUrl("http://www.google.com");
  var btn = page.FindChild(["type", "value"], ["submit", "Google Search"], 100);
  if (btn.Exists) {
    Log.Message("Кнопка найдена");
  }
  else {
    Log.Message("Кнопка не найдена");
  }
}

Спасибо за пример.
Не совсем понял что означают вот эти значения ["type", "value"], ["submit", "Google Search"] если рассматривать кнопку поиска Google то у нее какие значения?
Этот скрипт пишет в лог что кнопка не найдена, хотя она есть.
И еще вопрос если мне нужно проверить много ссылок, можно ли создать ,например, массив этих ссылок и потом в цикле подставлять их значения используя функцию FindChild для того что бы не дублировать код?
  • 0

#8 XXX

XXX

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

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 06 декабря 2010 - 11:06


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

Есть много способов. Например, можно использовать FindChild:

function test()
{
  var page = Sys.Process("iexplore").ToUrl("http://www.google.com");
  var btn = page.FindChild(["type", "value"], ["submit", "Google Search"], 100);
  if (btn.Exists) {
    Log.Message("Кнопка найдена");
  }
  else {
    Log.Message("Кнопка не найдена");
  }
}

Спасибо за пример.
Не совсем понял что означают вот эти значения ["type", "value"], ["submit", "Google Search"] если рассматривать кнопку поиска Google то у нее какие значения?
Этот скрипт пишет в лог что кнопка не найдена, хотя она есть.
И еще вопрос если мне нужно проверить много ссылок, можно ли создать ,например, массив этих ссылок и потом в цикле подставлять их значения используя функцию FindChild для того что бы не дублировать код?



При использовании FindChild ты должен указать какието свойства объекта и их значения, по которым TC должен найти этот объект..
В данном примере нашли кнопку Google Search по свойству type со значением submit(кнопка) и свойству value со значением Google Search (можешь их псомотреть в Object Spy)
По поводу массива ссылок - конечно можно!для этого массив и нужен
P.S. у меня данный пример с кнопкой сработал на ура!)
  • 0

#9 vlad407

vlad407

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

  • Members
  • Pip
  • 34 сообщений

Отправлено 06 декабря 2010 - 12:34



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

Есть много способов. Например, можно использовать FindChild:

function test()
{
  var page = Sys.Process("iexplore").ToUrl("http://www.google.com");
  var btn = page.FindChild(["type", "value"], ["submit", "Google Search"], 100);
  if (btn.Exists) {
    Log.Message("Кнопка найдена");
  }
  else {
    Log.Message("Кнопка не найдена");
  }
}

Спасибо за пример.
Не совсем понял что означают вот эти значения ["type", "value"], ["submit", "Google Search"] если рассматривать кнопку поиска Google то у нее какие значения?
Этот скрипт пишет в лог что кнопка не найдена, хотя она есть.
И еще вопрос если мне нужно проверить много ссылок, можно ли создать ,например, массив этих ссылок и потом в цикле подставлять их значения используя функцию FindChild для того что бы не дублировать код?



При использовании FindChild ты должен указать какието свойства объекта и их значения, по которым TC должен найти этот объект..
В данном примере нашли кнопку Google Search по свойству type со значением submit(кнопка) и свойству value со значением Google Search (можешь их псомотреть в Object Spy)
По поводу массива ссылок - конечно можно!для этого массив и нужен
P.S. у меня данный пример с кнопкой сработал на ура!)

А у меня вот такое заработало только. IE 7. Имеет ли значение версия IE ?
var page = Sys.Process("iexplore").ToUrl("http://www.google.com");
var btn = page.Form("f").Table(0).Cell(0, 1).SubmitButton("btnG");
  if ( btn.Exists) {
    Log.Message("Кнопка найдена");
  }
  else {
    Log.Message("Кнопка не найдена");
  }
}
Пишет в лог "кнопка найдена".
А ваш код пишет "кнопка не найдена".
  • 0

#10 XXX

XXX

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

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 06 декабря 2010 - 12:47

вполне возможно и изза версии косяк.Я проверял в IE8
Помнится были проблемы както с FF 3.6...вообще в нем объекты не воспринимались,а в 3.5 все отл было
  • 0

#11 vlad407

vlad407

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

  • Members
  • Pip
  • 34 сообщений

Отправлено 06 декабря 2010 - 14:10

Как синтаксически и логически правильно оформить массив ссылок, которые будут добавляться в цикл ?
  • 0

#12 Dmitry N

Dmitry N

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

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

Отправлено 06 декабря 2010 - 16:02

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

Работоспособность кода действительно в данном случае может зависеть от версии IE и TC. У меня IE8 и TC8.10. А ещё от версии самой страницы - у меня Google настроен на англоязычную версию.

Ваш код не ищет кнопку, а берёт её по полному имени. Если такой вариант устраивает, то вам просто нужно использовать Property Checkpoint или Object Checkpoint.

Насчёт массивов, рекомендую обратить внимание на возможность Data-Driven Testing.
  • 0
С уважением,
Дмитрий

#13 vlad407

vlad407

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

  • Members
  • Pip
  • 34 сообщений

Отправлено 07 декабря 2010 - 15:11

Ваш код не ищет кнопку, а берёт её по полному имени. Если такой вариант устраивает, то вам просто нужно использовать Property Checkpoint или Object Checkpoint.

А если такой вариант не устраивает как можно в IE7 искать кнопку ? И можно ли вообще?

Насчёт массивов, рекомендую обратить внимание на возможность Data-Driven Testing.

Спасибо , интересная возможность . Если я правильно понял то можно просто составить Doc в из которого будут браться все необходимые ссылочки , либо вообще из БД?
А насчет массивов можно ли использовать в TC8 многомерные ассоциативные массивы, если да то можно пример либо на help ссылочку.
  • 0

#14 Dmitry N

Dmitry N

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

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

Отправлено 08 декабря 2010 - 09:19

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

А если такой вариант не устраивает как можно в IE7 искать кнопку ? И можно ли вообще?

Можно. Используйте FindChild, как я уже писал ранее. Если мой код не работает, надо подобрать правильные параметры. Ещё может быть у вас TC8.0, в котором, кажется, не работала передача JScript массивов в параметрах FindChild. В TestComplete 8.10 работает.

Если я правильно понял то можно просто составить Doc в из которого будут браться все необходимые ссылочки , либо вообще из БД?


Да.


А насчет массивов можно ли использовать в TC8 многомерные ассоциативные массивы, если да то можно пример либо на help ссылочку.

Поддержка ассоциативных массивов есть в JScript. Также, есть системный объект Dictionary, который реализует эту функциональность. Многомерные массивы это просто массивы массивов. Например (код пишу прямо тут, не проверял):
function test()
{
  var myArr = new Array();

  myArr["Red"] = new Array();
  myArr["Red"].push("Apple");
  myArr["Red"].push("Tomato");


  myArr["Green"] = new Array();
  myArr["Green"].push("Cucumber");
  myArr["Green"].push("Onion");

  for (var color in myArr) {
    Log.Message("-- Color: " + color);
    for (var i = 0; i < myArr[color].length; i++) {
      Log.Message(myArr[color][i]);
    }
  }
}

  • 0
С уважением,
Дмитрий


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

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