Ошибка отказа в доступе при запуске CANoe из Jenkins

Я пытаюсь запустить автоматический тест в CANoe от Jenkins. Я писал скрипты на Python, используя интерфейс CANoe COM. Он может нормально работать с командной строкой на локальном компьютере (настроенном как подчиненный Jenkins). Но когда я попытался вызвать сценарии Python из Jenkins, я получил ошибку, как показано ниже.

Traceback (most recent call last):
  File "automatic_test.py", line 165, in <module>
    app = CanoeSync()
  File "automatic_test.py", line 23, in __init__
    app = win32com.client.gencache.EnsureDispatch("CANoe.Application")
  File "C:\Python27\lib\site-packages\win32com\client\gencache.py", line 527, in EnsureDispatch
    disp = win32com.client.Dispatch(prog_id)
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147024891, 'Access is denied.', None, None)

Дополнительная информация: версия CANoe: 11.0SP2; Версия Python: 2.7;. Учетная запись Jenkins также является учетной записью администратора подчиненного компьютера. Скрипты Python нормально работают с учетной записью Jenkins локально.

Большое спасибо за любую помощь.


person Lydia Li    schedule 04.04.2020    source источник
comment
Спасибо за ваши Коментарии. Я проверил диспетчер задач, и там нет процесса CANoe.   -  person Lydia Li    schedule 06.04.2020
comment
Не могли бы вы опубликовать свой скрипт на Python, пожалуйста?   -  person M. Spiller    schedule 06.04.2020
comment
Конечно. Пожалуйста, помогите проверить. Большое спасибо.   -  person Lydia Li    schedule 06.04.2020


Ответы (2)


Наконец-то вопрос решился! Это проблема разрешения. Пожалуйста, попробуйте решение из коды Win32com, не работающие в IIS, и не забудьте добавить свой Имя пользователя Jenkins и установите полное разрешение.

person Lydia Li    schedule 07.04.2020
comment
Пожалуйста, пометьте свой вопрос как ответ, если вы нашли решение. - person Shyam; 09.04.2021

Я сталкиваюсь с той же проблемой, когда пытаюсь запустить приложение CANoe из Jenkins даже после выполнения шагов, упомянутых в Коды Win32com не работают в IIS. Если я запускаю скрипт из CMD, он работает нормально, но проблема наблюдается при запуске из jenkins с моим идентификатором пользователя. Существуют ли какие-либо конкретные настройки, которые необходимо выполнить в CANoe?

File "C:\Program Files (x86)\Python279\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147467238, 'The server process could not be started because the configured identity is incorrect. Check the username and password.', None, None)
person Ds Arjun    schedule 27.05.2021