Synthetic test script 'examples/inline/short' hover action fails

Hi all,
I'm willing to explore the new syntethic features.
I downloaed the repo, and launched the command:

cat examples/inline/short.js | npx @elastic/synthetics --inline

However, the script failed to complete the hover action. Activating DEBUG, the script correctly recognized the css element, but failed to "hover" on it.
Is there something I'm missing?
Thank you

NOTE: I changed the test from page.hover to page.$ and now it works correctly.

Journey: inline
at 2788 ms register step: load homepage
at 2788 ms register step: hover over products menu
at 2788 ms Runner: before hooks for (inline)
at 2788 ms Runner: emit> step:start
at 2788 ms Runner: start step (load homepage)
  pw:api => page.goto started +1ms
  pw:api navigating to "https://www.elastic.co", waiting until "load" +2ms
  pw:api   navigated to "https://www.elastic.co/" +415ms
  pw:api   navigated to "https://a18132920325.cdn.optimizely.com/client_storage/a18132920325.html" +989ms
  pw:api   "domcontentloaded" event fired +169ms
  pw:api   navigated to "https://www.elastic.co/" +189ms
  pw:api   navigated to "https://play.vidyard.com/YEBGzbYwDdnvss6NXn1xzo?disable_popouts=1&v=4.2.30&type=inline&referring_url=&autoplay=0&hidden_controls=0&muted=1&loop=0&disable_analytics=0" +686ms
  pw:api   navigated to "https://play.vidyard.com/YEBGzbYwDdnvss6NXn1xzo?disable_popouts=1&v=4.2.30&type=inline&referring_url=&autoplay=0&hidden_controls=0&muted=1&loop=0&disable_analytics=0" +4ms
  pw:api   navigated to "about:blank" +7ms
  pw:api   navigated to "https://info.elastic.co/index.php/form/XDFrame" +105ms
  pw:api   "load" event fired +345ms
  pw:api <= page.goto succeeded +0ms
at 5700 ms Runner: end step (load homepage)
at 5700 ms Runner: emit> step:end
   ✓  Step: 'load homepage' succeeded (2911 ms)
at 5700 ms Runner: emit> step:start
at 5700 ms Runner: start step (hover over products menu)
  pw:api => page.hover started +1ms
  pw:api   "domcontentloaded" event fired +1ms
  pw:api waiting for selector "css=[data-nav-item=products]" +3ms
  pw:api   selector resolved to visible <li data-nav-item="products" class="jsx-4008395266 n…>…</li> +23ms
  pw:api attempting hover action +3ms
  pw:api   waiting for element to be visible and stable +0ms
  pw:api   element is visible and stable +28ms
  pw:api   scrolling into view if needed +0ms
  pw:api   done scrolling +0ms
  pw:api   checking that element receives pointer events at (201,42) +2ms
  pw:api   <div id="iubenda-cs-title">Notice</div> from <div role="alertdialog" id="iubenda-cs-banner" aria-l…>…</div> subtree intercepts pointer events +3ms
  pw:api retrying hover action, attempt #1 +0ms
  pw:api   waiting for element to be visible and stable +0ms
  pw:api   element is visible and stable +26ms
  pw:api   scrolling into view if needed +0ms
  pw:api   done scrolling +1ms
  pw:api   checking that element receives pointer events at (201,42) +1ms
  pw:api   <div id="iubenda-cs-title">Notice</div> from <div role="alertdialog" id="iubenda-cs-banner" aria-l…>…</div> subtree intercepts pointer events +3ms
  pw:api retrying hover action, attempt #2 +0ms
 ....

Interesting @iorfix, which version of synthetics are you using? I just tried it and it works fine for me

Hi @Andrew_Cholakian1, I pulled the master branch and just launch the command.
The client is behind a proxy, but as the script is able to download the page and navigating it, I think this is not an issue.
Let me know if I need to enable other debug selectors, and collect more logs

One thing you can do is to run with the --no-headless --pause-on-error flags on a box with a GUI. That will launch the browser in the foreground and keep it open even when the error occurs. At that point you can use chrome dev tools to debug why the page isn't working.

I tried it, and I noticed that the "cookie banner" of elastic.co appears. May it depend on this? Pheraps you already accepted the cookie info, so you don't have the problem?

Interesting, I'm noticing that I don't have a cookie banner at all even opening a new private browsing session in chrome.

Synthetics uses a completely fresh browsing context every time it's run and for every journey so clicking on a banner wouldn't maintain that state.

I'm wondering if were only running the banner in Europe. May I ask where you're located? I'll try to get a European colleague to test the site as well

I confirm I'm in Italy!
The GDPR banner is basically in every site you visited the first time. If there is a smart way to bypass it (example, add a cookie in the request), it would be very appreciated.

This topic was automatically closed 24 days after the last reply. New replies are no longer allowed.