You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Version of Percy SDK you’re using: .NET PercyIO.Selenium 1.0.0
If needed, a build or snapshot ID: N/A
OS version: Windows 11 (22621.819)
Type of shell command-line [interface]: Windows Terminal
Details
The code to take snapshot fails with an exception that has the following message:
Unable to cast object of type System.Collections.Generic.Dictionary`2[System.String,System.Object]' to type 'System.String'.
Because the .NET client declares a string variable to store the result returned by the PercyDOM.serialize() method, but in v1.15.0 it started returning an object instead.
Debug logs
There are no logs from the CLI because the .NET client fails to process the result of PercyDOM.serialize(), therefore it never contacts the CLI to post a snapshot.
It is possible that this issue affects SDKs of other languages too if they're also expecting a string.
It's not a problem to me that the Percy team introduced breaking changes but, when doing that, please publish updates to the SDKs to help customers fix the problems quickly.
The text was updated successfully, but these errors were encountered:
LSViana
changed the title
Return value of PercyDOM.snapshot() is not supported by C# client
Return value of PercyDOM.snapshot() is not supported by .NET client
Nov 24, 2022
@itsjwala Sorry for the delay to answer. After I rolled back the versions last month and things were working again, I switched my focus to other business priorities.
I just updated the implementation on my side to use the PercyIO.Selenium v1.1.0 and @percy/cli v1.16.0 and the integration is working correctly now.
(This issue was originally created in percy/cli, but it was moved here under request.)
The problem
The .NET Percy library doesn't know how to handle the object returned by Percy CLI in version 1.15.0, which was just a plain string previously.
Environment
@percy/cli
version: 1.15.0Details
The code to take snapshot fails with an exception that has the following message:
Because the .NET client declares a
string
variable to store the result returned by thePercyDOM.serialize()
method, but in v1.15.0 it started returning anobject
instead.Debug logs
There are no logs from the CLI because the .NET client fails to process the result of
PercyDOM.serialize()
, therefore it never contacts the CLI to post a snapshot.Code to reproduce issue
Use PercyIO.Selenium v1.0.0 with @percy/cli@1.15.0 (the latest available of both tools) to check the issue happening.
Extra
It is possible that this issue affects SDKs of other languages too if they're also expecting a
string
.It's not a problem to me that the Percy team introduced breaking changes but, when doing that, please publish updates to the SDKs to help customers fix the problems quickly.
The text was updated successfully, but these errors were encountered: