Управление окнами при снятии скриншотов vb

add

#1

Коллеги, есть опыт как управлять размерами и положениями окон при записи инструкций (текстовых и видео) в VB?
Сейчас частая ситуация, когда открывается не во все окно или вообще не активизирует TestClient и видео записывается, когда на экране менеджер тестирования.
Есть у кого-нибудь подобные проблемы? Как боретесь?


#2
  1. Надо использовать такси.
  2. Каждая фича на CI прогоняется отдельно. Т.е. я писал скрипт, который получает список фич для записи инструкций, и он их по очереди запускает.
    Так меньше возни с лишними окнами.
  3. Покажите фичу, где на экране остаётся TestManager.
  4. Какая версия платформы?

#3

У меня проблема с тем, что после открытия TestClient сеанс менеджера его перекрывает и при снятии скриншотов, например при ошибке, я вижу на скриншоте менеджер с VB вместо тест клиента.
Версия 8.3.8.1747


#4

Любая фича, например:

# encoding: utf-8
# language: ru

@tree
@exportscenarios

Функционал: Ведение списка номенклатуры
	Как 	Байер
	Хочу 	видеть список номенклатуры номенклатуру
	Чтобы 	вести учет в разрезе номенклатуры

Контекст:
	Допустим 	Существует тестовая номенклатура
	Допустим 	существует валюта "руб" с кодом "643"
	И			существует организация "БДО"
	И 			существует контрагент "Поставщик"
	И			существует договор с наименованием "ОсновнойДоговор_Поставщик" по контрагенту "Поставщик" с видом "СПоставщиком" по организации "БДО" в валюте "руб" с видом взаиморасчетов "ПоДоговоруВЦелом"
	И			существует склад "Вавилон" с видом "Оптовый" и составом:
		 |Реквезит					|Значение			|
		 |ТипЦенРозничнойТорговли	|"Розничный"		|
	И			существует склад "Византия" с видом "Оптовый" и составом:
		 |Реквезит					|Значение			|
		 |ТипЦенРозничнойТорговли	|"Розничный"		|
	И       	существует тип цен "Розничный"
	И			существует тип цен "ИнтернетМагазин"
	И 			На номенклатуру установлены цены
	И           Существуют тестовые наборы      
	И           я очищаю от движений регистр накоплений "ВзаиморасчетыСКонтрагентами"  
	И 			я создаю документ "ПоступлениеТоваровУслуг" с датой 01.01.2016 и реквизитами:
				|Реквизит						|Значение					|Тип										|
				|'Организация'					|'БДО'						|СправочникСсылка.Организации				|
				|ОтражатьВУправленческомУчете	|Истина						|Булево										|
				|ОтражатьВБухгалтерскомУчете	|Истина						|Булево										|
				|ОтражатьВНалоговомУчете		|Истина						|Булево										|
				|Контрагент						|Поставщик					|СправочникСсылка.Контрагенты				|
				|ДоговорКонтрагента				|ОсновнойДоговор_Поставщик	|СправочникСсылка.ДоговорыКонтрагентов		|
				|ВидПоступления					|НаСклад					|ПеречислениеСсылка.ВидыПоступленияТоваров	|
				|ВалютаДокумента				|руб						|СправочникСсылка.Валюты					|
				|КурсВзаиморасчетов				|1							|Число										|
				|КратностьВзаиморасчетов		|1							|Число										|
				|СкладОрдер						|Вавилон					|СправочникСсылка.Склады					|
	И			у создаваемого документа табличная часть "Товары" равна:
				|Номенклатура 	|ХарактеристикаНоменклатуры			  |Количество	|Коэффициент	|ЕдиницаИзмерения						|Склад	 | Цена	|Сумма|
				|'Блузка'		|'{Контекст.Характеристика_Блузка_S}' |10			|1			    |{Номенклатура.ЕдиницаХраненияОстатков}	|Вавилон |1     |10 |
				|'Юбка'		    |              						  |5			|1				|{Номенклатура.ЕдиницаХраненияОстатков}	|Вавилон |5		|10	|
				|'Блузка'		|              						  |4			|1				|{Номенклатура.ЕдиницаХраненияОстатков}	|Византия|1		|10	|
				|'Юбка'		    |'{Контекст.Характеристика_Блузка_S}' |7			|1				|{Номенклатура.ЕдиницаХраненияОстатков}	|Византия|5     |10	|
	И			я провожу создаваемый документ
	И 			существуют тестовые группы для сайта
	И 			установлена настройка пользователя для списка номенклатуры 
	И 			Я запускаю сценарий открытия TestClient или подключаю уже существующий
	Когда 		В панели разделов я выбираю "Ваш KPI"
	И     		Я нажимаю кнопку командного интерфейса "Номенклатура"

Сценарий: Открытие списка номенклатуры

	И     В форме "Номенклатура" в таблице "Список" я перехожу к строке:
	| 'Код'         | 'Наименование' |
	| '00000000002' | 'Юбка'         |
	И     В форме "Номенклатура" в таблице "Остатки" я перехожу к строке:
	| 'Размер' | 'Вавилон' |
	| 'S'      | '7'       |
	И     В форме "Номенклатура" в таблице "Остатки" я перехожу к строке:
	| 'Вавилон' |
	| '5'       |
	И     я перехожу к закладке "Цены"
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'S'      | '10 000,00' | '9 000,00'        |
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'XL'     | '10 000,00' | '9 000,00'        |
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'XXL'    | '10 000,00' | '9 000,00'        |
	И     я перехожу к закладке "Наборы"
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Второй_look' | 'Да'       | 'Нет'            |
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Третий_look' | 'Нет'      | 'Да'             |
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Первый_look' | 'Нет'      | 'Да'             |
	И     В форме "Номенклатура" в таблице "Список" я перехожу к строке:
	| 'Код'         | 'Наименование' |
	| '00000000001' | 'Блузка'       |
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Второй_look' | 'Нет'      | 'Да'             |
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Третий_look' | 'Нет'      | 'Да'             |
	И     В форме "Номенклатура" в таблице "Наборы" я перехожу к строке:
	| 'Набор'       | 'Основной' | 'Дополнительный' |
	| 'Первый_look' | 'Да'       | 'Нет'            |
	И     я перехожу к закладке "Цены"
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'S'      | '10 000,00' | '9 000,00'        |
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'XL'     | '10 000,00' | '9 000,00'        |
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'XXL'    | '10 000,00' | '9 000,00'        |
	И     В форме "Номенклатура" в таблице "Цены" я перехожу к строке:
	| 'Размер' | 'Розничный' | 'ИнтернетМагазин' |
	| 'M'      | '10 000,00' | '9 000,00'        |
	И     я перехожу к закладке "Остатки"
	И     В форме "Номенклатура" в таблице "Остатки" я перехожу к строке:
	| 'Размер' | 'Вавилон' |
	| 'S'      | '10'      |
	И     В форме "Номенклатура" в таблице "Остатки" я перехожу к строке:
	| 'Вавилон' |
	| '4'       |
	И     я перехожу к закладке "Сайт"
	Когда в ТЧ "ДеревоСайт" я нажимаю на кнопку "Перейти на уровень ниже"
	И     В форме "Номенклатура" в таблице "ДеревоСайт" я перехожу к строке:
	| 'Наименование' |
	| 'ВтораяГруппа' |
	И     В форме "Номенклатура" в таблице "ДеревоСайт" я перехожу к строке:
	| 'Наименование' |
	| 'ПерваяГруппа' |
	И     В форме "Номенклатура" в таблице "ДеревоСайт" я перехожу к строке:
	| 'Наименование'               |
	| 'Группы для сайта (Ваш KPI)' |
	И     В форме "Номенклатура" в таблице "Список" я перехожу к строке:
	| 'Код'         | 'Наименование' |
	| '00000000006' | 'Туфли_белые'  |

#5

Используем Sikuli-скрипт в начале сессии тестирования, чтобы свернуть приложение-менеджер:

type(Key.DOWN, KeyModifier.WIN)
sleep(1)
type(Key.DOWN, KeyModifier.WIN)
sleep(1)
exit(0)


#6

Да. Я люблю эту комбинацию и использую в автодоках на канале Ванессы )))
Насчет скриншотов - на самом деле проблема шире.
В серьёзных сценариях будет запущено несколько сеансов TestClient под разными пользователями.
При нагрузочном тестировании - тоже будет много сеансов.
Возникает проблема как снять скриншот с нужного приложения.
Я не нашел готового решения - поэтому думал писать миниутилиту самому для этого, чтобы снять снимки окон всех сеансов 1С.
Может кто знает как это по-другому решить?


#7

Зачем скриншотить нагрузочное тестирование?


#8

Всё тоже. При возникновении ошибки.