Python based plugins building and packaging / TUI

I have a few questions about building and packaging concepts for Python based plugins.

  1. I cannot make TUI see my plugins by simply dropping the DLL to OpenTAP\Packages\PluginName folder (at the moment I’m using Windows). Python Example plugin works fine. I tried to build a package and install it, tried adding a similar set of files manually to my plugin folder but it didn’t seem to help. What are the required files/location to make a plugin visible to TUI?
  2. Does the output DLL contain all necessary dependencies or it’s still required to have Python source code next to it? Asking because while trying to find differences between the example and my plugin, I noticed that deleting .py files from the Python plugin example breaks it.

I hope my questions make sense and I’m happy to explain in more details if needed.

  1. @stefan.holst may have to help with the TUI questions. It is possible you need to use tap tui-pm to install the package. I also believe it needs to be in OpenTAP\Packages\Python\PluginName meaning you also will need the Python Plugin installed as a prereq.

  2. You will still need the .py or .pyc files. This is because the DLL generated is just a wrapper allowing for interfacing to OpenTAP, it is not converting the python files to C#.

Do you see any errors in your SessionLog file, or does it seem to be skipping the files entirely?

2 Likes

The way the TUI (tui-pm) and OpenTAP package managers finds installed packages is using the package.xml files inside the Packages folder.

If you are having issues with your plugins (like TestSteps) not being available, you might be missing some DLLs or .py in your installation.

2 Likes