Сбросить состояние приложения office при запуске

#ms-office #word #squish

Вопрос:

Я использую squish для тестирования, и он не всегда закрывает тестируемое приложение правильно. В этом случае office (Word, Excel, PowerPoint) запускается с некоторыми параметрами восстановления (восстанавливаются предыдущие документы, появляются некоторые диалоговые окна и т. Д.) Мне нужно сбросить статус приложения перед началом нового теста.

Комментарии:

1. Альтернативами являются отключение параметров восстановления или настройка их таким образом, чтобы они не мешали автоматизации, или разрешение тестовым сценариям обрабатывать приложение, когда оно отображает параметры восстановления/графический интерфейс.

Ответ №1:

Не лучше ли правильно закрыть приложение Office?

Например, вы можете автоматизировать приложение Office с помощью автоматизации. Параметры восстановления означают, что основное приложение не было закрыто корректно или с ним произошло что-то неожиданное (сбой?). Поэтому я бы рекомендовал спросить squish разработчиков, что не так с их программным обеспечением, кроме поиска обходного пути для подавления доказательств.

Комментарии:

1. Squish поставляется с некоторым разумным поведением по умолчанию, например, убедитесь, что автоматические приложения убиты, если они все еще запущены при выходе из тестового сценария (чтобы избежать возникновения других проблем с задержкой приложения). Изящное закрытие приложений не всегда возможно в Windows (и в любом случае не выполняется Squish), тестовый сценарий должен гарантировать, что приложение будет закрыто подходящим способом. Squish позволяет объявить функцию под названием » очистка() «, которая может сделать это после выхода функции main ().

2. Процессы убийства — это неправильный способ остановить их. Разработчики Squish тогда не заботятся о пользователях.

3. Юджин, учитывая то, что вы только что сказали, не похоже, что вы знакомы с требованиями автоматизированного тестирования графического интерфейса. 1) Приложение должно быть закрыто до следующего тестового случая. 2) Приложение может просто не выйти. 3) Приложение может иметь модальные диалоговые окна, которые не позволяют закрывать его окна (при условии, что закрытие окна завершает работу приложения). 4) Закрытие диалоговых окон приложений может привести к бесконечным дальнейшим диалогам. 5) Закрытие окон приложений может не привести к закрытию приложения. И последнее, но не менее важное: убийство полезно для автоматического тестирования графического интерфейса, поскольку оно использует часто игнорируемый случай, когда процесс завершается неупорядоченным образом (отключение питания, сбой, смерть пользователя).

4. Евгений, если у вас есть идеи, как решить эти проблемы таким образом, чтобы избежать необходимости убивать приложение, пожалуйста, дайте мне знать, я с радостью перешлю их разработчикам Squish GUI tester.

5. Вместо того, чтобы убивать процессы, вам нужно подождать некоторое время и закрыть основное приложение. Каждое приложение Office имеет методы Close или Quit , которые выполняют эту работу. Если приложение не закрыто — это хороший показатель того, что в коде отсутствуют ссылки на базовые COM-объекты. Обычно приложение закрывается правильно, если это не так — проблема в коде автоматизации.