Wallaby + Chromedriver acting weird. What's changed? Anyone else? How can I debug?

Something seems to have changed with Wallaby or Chromedriver. After my test suite runs there are orphaned chrome instances present. During test execution I cannot run with the browser, only headless. When tests fail they no longer take a screenshot.

I am not sure what’s changed nor how to debug it. There is a recently opened issue https://github.com/elixir-wallaby/wallaby/issues/544

My chromedriver already matches my browser’s version. I have tried downgrading to 0.25 but no change in behavior.

This isn’t the first time there have been rogue processes left after a test. I wasn’t able to investigate them previously and I’m not sure how to investigate them now.

Direction is greatly appreciated.

1 Like

Did you try downgrading chrome and chromedriver versions used as well, just for the time being?

I’m not sure what are the risks involved in downgrading Chrome. Since there are other projects on this computer I’d rather not mess with it. Seems like Google does not encourage downgrading Chrome versions.

Update:

I was looking at my screenshots directory and saw that the last screenshot was taken a day before my upgrade from 0.23 to 0.25. I then noticed that I had to change:

chrome: [headless: false],

# to

chromedriver: [headless: false]

Ok, great, now browser appears. :+1:

However, screenshots are:

  1. Still not being taken on failure.
  2. When a screenshot is manually taken via take_screenshot(session) the directory isn’t displayed in the terminal’s output.

I double checked these settings but they seem to have stayed the same. Any ideas? I have also upgraded to 26.2 with no luck.

:thinking:

Hi,

To take screenshots on failure, you must configure :screenshot_on_failure to be true, and this only works when using the feature macro.

You must pass the log: true option to take_screenshot for it to print to the terminal.

2 Likes

Thank you so much! :clap: :bowing_man:

I got screenshots working on failure but now if I test with chromedriver: [headless: false] it may be opening two browsers. The second browser appears to be doing the testing and is then closed while the first one is left open but blank.

There are two screenshots taken on a failure. One is blank, the second is the accurate page where the failure happened.

Am I still misconfigured?

Thank you so much for your great work on Wallaby! :bowing_man::bowing_man:

You are likely starting a session manually in addition to using use Wallaby.Feature in your test.

If you are already using your own ExUnit.CaseTemplate, you probably want to replace use Wallaby.Feature with import Wallaby.Feature

4 Likes

you’re on fire! :fire: :bowing_man: :boom:

thank you so much!!!

we’re back in business :smile: :rocket: :raised_hands: