ITestStep implemented in OpenTap.Package.dll in 9.17.4?

Upgrading from 9.16.4 to 9.17.4 it seems the OpenTap.Package.dll contains a plug in implementing ITestStep: PackageInstallStep ? It doesnt show up in Package Manager or TA Editor but is listed when my application lists all test steps (see screen shot) Is this expected?

It looks as if this is by intention: PackageInstallStep.cs#L10

2 Likes

Yes, this is intentional. It’s sort of an implementation detail, but it has to do with how we do encapsulated admin elevation now when installing system-wide packages.

1 Like

OK. So what is the best way to filter out this (and maybe others in future versions of OpenTAP) when scanning for installed TestSteps? Check for Browsable=false?

1 Like

In general I would recommend filtering all non-public types, and all types with the [Browsable(false)] attribute. This is what the WPF Editor and the TUI does.

2 Likes

@GoranJohnsson I looked into this a bit further and PluginManager.GetPlugins already excludes non-public types UNLESS the containing assembly has the assembly attribute [assembly:OpenTap.PluginAssembly(true)], so it should not be necessary to add code for this.

As it happens, OpenTap.Package.dll has this assembly attribute, which is why the plugin manager returns this internal step.

Excluding Browsable=false should be sufficient. Sorry about the confusion!

1 Like