lettterssino
Знающий
- Сообщения
- 109
- Репутация
- 10
- Версия AutoIt
- 4.4.6
- Версия
- 4.4.6
Может кто сталкивался, пишу автоматизацию под jenkins на Autoit и какая-то хаотичная пляска. То тест проходит, то сам по себе ожидает до бесконечно элемента. На jenkins реализовано, что запускается скомпилированный скрипт из сетевой папка, может ли в этом быть проблема?
Решил проблему . Под Jenkins почему-то именно под вин11 открывалась программа в свёрнутом окне. И у программы было 2 окна, одно свёрнутое, второе активное.
Код:
#include <UIAutomate.au3>
#include <File.au3>
#include <Date.au3>
#include <FileOperations.au3>
#include <FileConstants.au3>
#include <Constants.au3>
#include <Encoding.au3>
Opt("WinTitleMatchMode", 2)
Global $Distrib = "*****" ; путь до дистрибутива
Global $Rs = "***********" ; путь до корня
Global $Ro = '*****"' ; путь до корня
Global $sEnvVar = EnvGet("USERNAME")
Global $LogWrite = FileOpen(@DesktopDir & "\TEST.log", 1)
ProgressOn("TEST.au3", 'INSTALL', '', -1, 100, 18)
ProgressSet(0, "Создание репозитории логов")
Creat()
Check()
END1()
Exit 0 ; Тест завершён успешно
Func END1()
TEST1() ; Запуск выборочной установки
ClearFile()
CreatFile()
OpenFile()
Global $UndoPersecntD = "10%"
UndoDel()
Global $UndoPersecntD = "50%"
UndoDel()
DEL() ; Полное удаление
EndFunc ;==>END1
Func CreatFile()
Sleep("3000")
Run(@ComSpec & ' /c "' & @ProgramFilesDir & $Ro, @ScriptDir, @SW_HIDE)
$hWnd = WinWaitActive("КОМПАС-3D")
$oParent = _UIA_GetElementFromHandle($hWnd)
_UIA_WaitControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл", "LegacyIAccessible.Name", "", 0) ; Создание детали
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Деталь")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение детали
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
$hWnd2 = WinWaitActive("Укажите имя файла для записи")
$oParent2 = _UIA_GetElementFromHandle($hWnd)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Деталь.m3d") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение детали = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение детали = Error")
Exit 1
EndIf
Sleep("3000")
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId") ; Создание сборки
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сборка")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение сборки
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
$hWnd2 = WinWaitActive("Укажите имя файла для записи")
$oParent2 = _UIA_GetElementFromHandle($hWnd)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Сборка.a3d") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение сборки = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение сборки = Error")
Exit 1
EndIf
Sleep("3000")
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId") ; Создание чертежа
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Чертеж")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение чертежа
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Чертеж.cdw") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение чертежа = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение чертежа = Error")
Exit 1
EndIf
Sleep("3000")
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId") ; Создание фрагмента
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Фрагмент")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение фрагмента
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
$hWnd2 = WinWaitActive("Укажите имя файла для записи")
$oParent2 = _UIA_GetElementFromHandle($hWnd)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Фрагмент.frw") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение фрагмента = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение фрагмента = Error")
Exit 1
EndIf
Sleep("3000")
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId") ; Создание текстового документа
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Текстовый документ")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение текстового документа
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
$hWnd2 = WinWaitActive("Укажите имя файла для записи")
$oParent2 = _UIA_GetElementFromHandle($hWnd)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Текстовый.kdw") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение текстового документа = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение текстового документа = Error")
Exit 1
EndIf
Sleep("3000")
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "|LongDelayItem_NewItemButton", "AutomationId") ; Создание спецификации
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Спецификация")
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Файл") ; Сохранение спецификации
_UIA_ElementMouseClick($oElement)
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
$hWnd2 = WinWaitActive("Укажите имя файла для записи")
$oParent2 = _UIA_GetElementFromHandle($hWnd)
WinWaitActive("Укажите имя файла для записи")
$oElement = _UIA_GetControlTypeElement($oParent2, "UIA_ButtonControlTypeId", "Сохранить")
_UIA_ElementMouseClick($oElement)
Sleep("2500")
If FileExists("C:\Users\" & $sEnvVar & "\Documents\Спецификация.spw") Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение спецификации = OK")
Else
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сорахнение спецификации = Error")
Exit 1
EndIf
WinClose("КОМПАС-3D")
If WinWaitClose("КОМПАС-3D", "", 10) Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Сохранение файлов завершено")
ElseIf Not WinWaitClose("КОМПАС-3D", "", 10) Then
Local $hFile = $LogWrite
_FileWriteLog($hFile, "Компас не отвечает")
Exit 1 ; Компас не отвечает
EndIf
EndFunc ;==>CreatFile
Сообщение автоматически объединено:
Решил проблему . Под Jenkins почему-то именно под вин11 открывалась программа в свёрнутом окне. И у программы было 2 окна, одно свёрнутое, второе активное.
Последнее редактирование: