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

Genka

Регистрация: 04 дек 2003
Offline Активность: 24 авг 2020 10:15
*****

#174202 Как ускорить работу с DataGrid

Написано Genka 26 октября 2019 - 13:09

Обычно внутри приложения есть объект какой-то типа DataLayer, в котором хранятся все данные, которые выводятся в этот грид. Если у вас есть доступ к этому объекту, то вычитка данных будет гораздо быстрее, однако нужно учитывать, что данные в таких объектах хранятся обычно в "сыром" виде, а в таблице они отформатированы (например, дата может храниться в виде числа). Из-за этого ухудшается качество тестирования (вам же надо проверять в том числе, что дата выводится в правильном формате).

 

Еще вариант: подумайте, а нужно ли вам вычитывать все 1500 строк? Может быть вам нужны какие-то конкретные данные и вы можете сначала включить в гриде фильтр и пройтись только по отфильтрованным строкам?

 

Еще похожий вариант. Если вам нужна только какая-то конкретная строка (например, человек с именем Вася Пупкин, у которого есть уникальный id в таблице), то можно сначала выполнить запрос в базу по имени, получить оттуда id, затем отфильтровать таблицу по id и получить только одну нужную запись.

 

Еще пример. Допустим, вам нужно проверять данные во всех 1500 строках. Может в таблице можно выделить всё, скопировать в буфер, а потом распарсить содержимое буфера?


  • 1


#173188 TestComplete и паралельные операции

Написано Genka 03 августа 2019 - 19:41

вот, пожалуй, лучшее, что могу предложить на эту тему

https://alpaev.com/a...xpected-window/


  • 1


#163493 Новая книга Геннадия Алпаева "Software Testing Automation Tips

Написано Genka 14 ноября 2017 - 10:42

Поздравляю. 

Это большой труд.

 

Спасибо!


  • 3


#163492 Новая книга Геннадия Алпаева "Software Testing Automation Tips

Написано Genka 14 ноября 2017 - 10:35

Книга только на английском и продается только через apress ?

1. Только на английском, на русском не планируется (разве что какое-то издательство само заинтересуется)

2. Купить можно не только на сайте APress, она продаётся много где, вот ссылка на Амазон, например.

 

Задам пожалуй я, всех интересующий вопрос: В открытом доступе уже есть книга? Можно скачать?) 

 

Пока вы ждёте появления книги в открытом доступе, рекомендую ознакомиться с другой моей книгой Автоматизация тестирования от «А» до «Ы» (вот тут её можно скачать в ПДФ или читать онлайн). В ней есть многое из того, что описано в книге, может не так подробно и не в таком формате, зато на русском языке.

 

Ну, и на будущее вам совет: понятно, что многие предпочитают скачать бесплатно, чем купить, но каждая покупка - это стимул автору писать что-то ещё, а потому подобные вопросы некрасиво задавать там, где обитает автор :)


  • 5


#148732 Как получить список запущенных приложений?

Написано Genka 20 февраля 2016 - 14:11

Это нетривиальная задача. То, что ты называешь в данном случае "приложением" - это просто процесс, у которого есть видимое окно.

Теоретически можно пройтись по всем процессам и у каждого проверить свойство Visible для каждого дочернего элемента. Если такой контрол есть - это "приложение", прибиваем процесс.

 

Это вообще неуднобный подход. Захочет человек запустить локально тест, а ему ТС позакрывает всё (браузер, открытые документы, да мало ли чего).

 

Если речь о том, чтобы не было никаких дополнительных приложений во время автоматических запусков тестов (например, ночью), то я делаю проще. В Task Scheduler создал задачу, которая запускает принудительную перезагрузку

shutdown /r /f /t 0

Эта задача запускается у меня в 9 вечера на всех компах, а тесты начинают работать позже, часов в 12 ночи


  • 1


#146045 Некорректно отрабатывает логическое ИЛИ (||)

Написано Genka 16 ноября 2015 - 10:51

Логическое ИЛИ работает так: проверяет первую часть выражения и ТОЛЬКО если она = false, переходит к следующей проверке (SearchIndicator). Это называется ленивые вычисления.

В вашем случае, видимо, именно так все и происходит.

 

P.S. Вместо выражения if(SearchIndicator != true) используйте if(!SearchIndicator)


  • 1


#138229 TestComplete потребляет много оперативной памяти

Написано Genka 13 января 2015 - 07:04

Скорее всего вам нужно поменять параметр Store Code Completion information (почитать можно тут)


  • 2


#137274 Символ *

Написано Genka 04 декабря 2014 - 10:26

Напишите просто 2 звездочки (**) и все заработает


  • 1


#135820 Test Complete и утечки памяти

Написано Genka 23 октября 2014 - 10:15

Утечки памяти где? В ТС или тестируемом приложении?

 

Если в ТС, то скорее всего не сбрасывается кеш логов.

Если в тестируемом приложении, то это вам в саппорт надо обращаться.


  • 2


#134609 TestComplete не видит кнопки.

Написано Genka 23 сентября 2014 - 05:54

Вам надо скачать плагин для вашей версии qt отсюдаhttp://support.smart...ete/qt-modules/
Возможно придётся проапгрейдиться
  • 1


#134275 Есть ли аналог exit процедуры для jscript

Написано Genka 15 сентября 2014 - 14:19

return


  • 1


#134233 Удаление записи в БД.

Написано Genka 14 сентября 2014 - 18:09

чтобы узнать id, вам нужно как-то явно выбрать из базы запросом именно эту созданную запись. А чтобы это сделать, нужно задавать уникальное имя клиенту. Иначе, если у вас, скажем, 10 Биллов Гейтсов, как вы выберете именно того, которого создали вы?


  • 1


#134140 Как разделить функции, чтобы они вызывались поэтапно

Написано Genka 11 сентября 2014 - 18:04

XXX не понял, а я понял :)

 

Для хранения подобных данных удобнее всего будет воспользоваться Project Variables (в вашем случае, скорее всего, Persistent Variables). Там есть и значения по умолчанию, и новые значения можно сохранять.

 

Для запуска же "по нажатию кнопки" скорее всего подойдут User Forms. 

 

А насчет Экселя... С Экселем еще придется повозиться, чтобы ЗАПИСЫВАТЬ в него данные. В общем, не советую.


  • 2


#133606 testcomptele, прошу помочь новичку

Написано Genka 27 августа 2014 - 16:13

Используйте сочетания клавиш (Keys("~fa") для Save As, например)


  • 1


#133555 как объеденить 2 значения case

Написано Genka 26 августа 2014 - 10:12

case 1:

case 2:

  // somethnig

  break;

case 3:

  // something else

  break;


  • 1