Issue with latest 2.10 nightly & 2.9.3 as well and Selenium Powershell module 4.0.0

@adam

i have couple servers with PSU 2.9.3 and 2.10

the issue i have noticed is happening on psu 2.10 with latest nightly & 2.9.3, am using selenium powershell module v 4.0.0 on both servers and its working great except after sometime let say couple hours if i try to initiate the test i get the following error message catched by try{}catch{}

Cannot process argument transformation on parameter 'StartURL'. Object reference not set to an instance of an object.
the only way to resolve the issue is by restarting the dashboard and after that everything will work for sometime again and then same issue.
i have looked in the logs but unfortunately i found nothing.
am hosting in IIS and both servers are identical
am using powershell 7.2.2 not integrated.
am using highperformancerunspace option in my env.

code used in page

New-UDButton -Id 'btndiag' -Text "HealthChk" -OnClick {

$URL = 'some URL'
Try {
                    
    $Driver = Start-SeDriver -Browser Chrome -StartURL $URL -PrivateBrowsing -ImplicitWait 5

    } catch {

    $ErrorMessage = $_.Exception.Message | Out-String


    }

  }

is there an update on this also is it possible if there is no solution for above error to restart the dashboard from with in the dashboard by putting a code inside a button to do so?

Can you try to get an exception stack trace? I have no idea what’s causing this. We don’t do any runspace recycling or anything with the highspeed pool so that shouldn’t be the issue.

Try {
                    
    $Driver = Start-SeDriver -Browser Chrome -StartURL $URL -PrivateBrowsing -ImplicitWait 5

    } catch {

#    $ErrorMessage = $_.Exception.Message | Out-String
    $ErrorMessage = $_.Exception.StackTrace | Out-String


    }

i have add that and will update you when it errors again but what about the other q as well is it posible to restart the dashboard from within the dashboard

Yes. You should be able to using this API:

Invoke-RestMethod http://localhost:5000/api/v1/dashboard/$dashboardId/status/restart -Method PUT

is $dashboardId the same as dashboard name in console?

It’s actually the numeric ID not the name. You can use Get-PSUDashboard to retrieve the ID.

i have found the id its 1 but am getting the following error when trying

Invoke-RestMethod : The remote server returned an error: (401) Unauthorized

Invoke-RestMethod "http://psu.com/api/v1/dashboard/1/status/restart" -Method PUT

hosting in iis

You need to include an API token. Sorry, wasn’t clear on that.

Invoke-RestMethod "http://psu.com/api/v1/dashboard/1/status/restart" -Method PUT -Headers @{ Authorization = "Bearer $APIToken" }

i got also the stack trace

at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)

was above stack trace for the main selenium module issue helpful or do you need extra info?

PowerShell is just throwing that exception. Looking at the Selenium code, I’m not really sure why this is happening. The Selenium module seems to be using a custom transformation class that is causing this to happen but I have no idea why.

That’s what is weird about it since it runs fine for the first hour or so but anyway i ended up ditching Selenium module and re code the steps to use PowerShell with chromedriver and webdriver.dll only and so far its working good so hopefully it wont cause same issue again since otherwise to use Selenium PowerShell module will force me to include a button to restart the dashboard if the error appears and its not a good practice.

Thank you anyway for looking into the issue i really appreciate it.