Hi,

 I'm trying to automate CANoe using win32com. I've written a script that
works perfectly when I log in and run it as a normal user.

 I want to run it from a Jenkins service though and I have allowed the
Jenkins service to interact with desktop or whatever that option is called.

This runs just fine :

myCanApp = win32com.client.Dispatch('CANoe.Application')
print("CANoe dispatched!")

 And a CANoe instance is started. But then this code follows:

onfiguration = myCanApp.Configuration
        measurement = myCanApp.Measurement

        # Getting the Test Configurations
        TestEnvs = Configuration.TestSetup.TestEnvironments
        csbTstMod = None
        for tstEnv in TestEnvs:
            if (tstEnv.Name != tstEnvName):
                continue
            tstEnv = win32com.client.CastTo(tstEnv, "ITestEnvironment2")
            for tstMod in tstEnv.TestModules:
                if (tstMod.Name == tstModName):
                    csbTstMod = tstMod
                    break

        win32com.client.WithEvents(csbTstMod, TestModuleEvents)

Normally this also runs fine and I can intercept the events with my custom
handler.

When being run as a service though I get this error:


Traceback (most recent call last):
  File "D:\Jenkins\Scripts\dispatch.py", line 203, in <module>
    exec_test(PDConfigPath, "CommonTests", "PD_CSB")
  File "D:\Jenkins\Scripts\dispatch.py", line 146, in exec_test
    win32com.client.WithEvents(csbTstMod, TestModuleEvents)
  File "C:\Program
Files\Python39\lib\site-packages\win32com\client\__init__.py", line
336, in WithEvents
    instance = result_class(disp) # This only calls the first base
class __init__.
  File 
"C:\WINDOWS\TEMP\gen_py\3.9\7F31DEB0-5BCC-11D3-8562-00105A3E017Bx0x1x58.py",
line 19507, in __init__
    cookie=cp.Advise(win32com.server.util.wrap(self,
usePolicy=EventHandlerPolicy))
pywintypes.com_error: (-2147024891, 'Access is denied.', None, None)


It would be really useful to understand what's going on, where the problem
is as I cannot determine what permissions I need to enable ( some COM
permissions  ? )  for this to work as a service. As I've said interact with
Desktop is on , othewise the first Dispatch of CANoe wouldn't work.
I'm using the latest pywin32 installed with pip ( as Admin ) in Windows 10
ver 19xx.

Any help to make any progress or debug this somehow would be appreciated. I
can debug using pydevd but so far that wasn't very useful.

Thanks.
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to