percy / percy-selenium-java

Visual testing with Java Selenium and Percy
https://docs.percy.io/docs/java-selenium
MIT License
12 stars 17 forks source link

Screenshot is not clear using percy with java-selenium #75

Closed ashishsharma0 closed 3 years ago

ashishsharma0 commented 3 years ago

Hi team, Screenshot is not clear when i tried to use percy with java-selenium.Please find below screenshot and my percy link

https://percy.io/6a0e3490/AF/builds/9767379/changed/550159506?browser=chrome&browser_ids=16&subcategories=unreviewed%2Cchanges_requested&viewLayout=side-by-side&viewMode=new&width=1870&widths=1870

image

Robdel12 commented 3 years ago

Hey @ashishsharma0 It looks like this is going through the support flow. But I'll relay the same thing I mentioned in Slack -- it looks like the requests for the page assets are getting redirected, so we're not actually capturing assets. For example, this is a CSS file:

response

With @percy/cli you can set --verbose to get debug logs (or PERCY_LOGLEVEL=debug). That will output the asset discovery logs. But you'll have to figure out what's causing the serve to respond incorrectly (maybe auth is needed? https://docs.percy.io/docs/capturing-assets-protected-with-authentication-cli)

I'm going to close this since it's going through support & it's not an SDK bug. Feel free to comment more though πŸ’―

ashishsharma0 commented 3 years ago

Hi @Robdel12 . thanks for your email. We don't need authorization(or username/password) to access the page. looks like support team copied your response and sent over to me. I tried to compare a google page with Salesforce page .But still could not get good comparison results. Please let me know if you have any reliable solution to fix this. To be honest, I am skeptical now if this tool Percy really works?

On Thu, Apr 8, 2021 at 5:07 PM Robert DeLuca @.***> wrote:

Hey @ashishsharma0 https://github.com/ashishsharma0 It looks like this is going through the support flow. But I'll relay the same thing I mentioned in Slack -- it looks like the requests for the page assets are getting redirected, so we're not actually capturing assets. For example, this is a CSS file:

[image: response] https://user-images.githubusercontent.com/2072894/114059904-7279de00-985a-11eb-9415-935517a225ca.png

With @percy/cli you can set --verbose to get debug logs (or PERCY_LOGLEVEL=debug). That will output the asset discovery logs. But you'll have to figure out what's causing the serve to respond incorrectly (maybe auth is needed? https://docs.percy.io/docs/capturing-assets-protected-with-authentication-cli )

I'm going to close this since it's going through support & it's not an SDK bug. Feel free to comment more though πŸ’―

β€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/percy/percy-java-selenium/issues/75#issuecomment-815950804, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATEPWBGVTN5ZCSUOCIHGN4DTHXIFTANCNFSM42S5352Q .

Robdel12 commented 3 years ago

Hey @ashishsharma0, Auth was a guess / suggestion. The core issue is the server that is serving your apps resources is redirecting requests to the HTML page (in the screenshot).

To be honest, I am skeptical now if this tool Percy really works?

πŸ˜† yes it does, we just need to figure out how your server is handling requests from asset discovery. It's redirecting them for some reason. Is it because it's a headless browser?

Percy works by capturing a snapshot of the DOM state. From there we put the DOM into a browser to save the needed assets (asset discovery). This is the part where your apps server is not server CSS, but an HTML page.

Once the assets are captured they're sent off to the API where its rendered concurrently across widths/browsers for screenshots. If the assets aren't captured properly, it'll break (like this).

ashishsharma0 commented 3 years ago

Thanks for your reply. Appreciate it. I don’t think headless browser. We can have quick call if it’s feasible for you? How do we proceed further?

Thanks, Ashish On Thu, 8 Apr 2021 at 19:20, Robert DeLuca @.***> wrote:

Hey @ashishsharma0 https://github.com/ashishsharma0, Auth was a guess / suggestion. The core issue is the server that is serving your apps resources is redirecting requests to the HTML page (in the screenshot).

To be honest, I am skeptical now if this tool Percy really works?

πŸ˜† yes it does, we just need to figure out how your server is handling requests from asset discovery. It's redirecting them for some reason. Is it because it's a headless browser?

Percy works by capturing a snapshot of the DOM state. From there we put the DOM into a browser to save the needed assets (asset discovery). This is the part where your apps server is not server CSS, but an HTML page.

Once the assets are captured they're sent off to the API where its rendered concurrently across widths/browsers for screenshots. If the assets aren't captured properly, it'll break (like this).

β€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/percy/percy-selenium-java/issues/75#issuecomment-816038145, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATEPWBG6CDSZACSQOSMFXALTHXXWZANCNFSM42S5352Q .

-- Kind Regards, Ashish Sharma

Robdel12 commented 3 years ago

Hey @ashishsharma0!

How do we proceed further?

You'll have to figure out the conditions the server is redirecting these requests. To boil the issue all the way down:

Percy requests ../6b4db6e1-7f8e-4b85-8875-02b70efd7a93/sheet/resources/views/app-overview/app-overview.ea1535b95694e78e98a3.css

and the server returns

6b4db6e1-7f8e-4b85-8875-02b70efd7a93/sheet/resources/views/app-overview/app-overview.ea1535b95694e78e98a3.css/index.html

Which is this page image

ashishsharma0 commented 3 years ago

Can Percy support not help here? Just to add A simple google page comparison does not work here.. When I tried to use other tool To screenshot comparison , it works really well.They supported and helped in order to use their tool. so I would it’s Percy specific issue that you guys needs to help to resolve it. I am happy to get into call and collaborate in triaging this issue. Thanks

On Thu, 8 Apr 2021 at 22:04, Robert DeLuca @.***> wrote:

Hey @ashishsharma0 https://github.com/ashishsharma0!

How do we proceed further?

You'll have to figure out the conditions the server is redirecting these requests. To boil the issue all the way down:

Percy requests

../6b4db6e1-7f8e-4b85-8875-02b70efd7a93/sheet/resources/views/app-overview/app-overview.ea1535b95694e78e98a3.css

and the server returns

6b4db6e1-7f8e-4b85-8875-02b70efd7a93/sheet/resources/views/app-overview/app-overview.ea1535b95694e78e98a3.css/index.html

Which is this page [image: image] https://user-images.githubusercontent.com/2072894/114096126-eed4e700-9883-11eb-9d3a-2d25236573a8.png

β€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/percy/percy-selenium-java/issues/75#issuecomment-816197855, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATEPWBA3J55YVX3BVY4MYOLTHYK6TANCNFSM42S5352Q .

-- Kind Regards, Ashish Sharma

ashishsharma0 commented 3 years ago

@Robdel12 just to add here i have checked server logs but could not find any html extensions there