9 comments

[ 6.1 ms ] story [ 23.7 ms ] thread
A vendor recently switched from self-hosted to AWS, and the API I was using to backup our artifacts that are stored in their system stopped working. I submitted a support request, but they still haven't replied a month later. Not even a "We're looking into your ticket".

So I created a Docker container that uses chromedriver+selenium and it works GREAT. My first attempt at Selenium.

I did run into one problem though: Downloading large attachments failed. After a bit of searching, I found I needed to add the following docker argument: --shm-size=5g I had tried various other memory-related arguments (I figured it was memory related), but that's the one that did the trick.

I'm very close to needing to do the same exact thing, would really appreciate a GitHub link or something do your Dockerfile
I'm definitely able to open it up, I just need to sanitize it to get my information out of it and clean up some things. I've started with the component I referenced here, but I do have a basically complete workflow that I'm able to release.

I'm putting it here: https://gitlab.com/linsomniac/fogbugz-to-jira

We have rolled our own wrapper around selenium implementing page models, using pytest. It feels as though we are reinventing the wheel, though I'm not aware of an existing public package providing this.

There are many caveats for the unwary when beginning a selenium adventure: detecting and retrying stale element exceptions (you can't just retry the final (say) click operation; you need to retry a DOM interaction sequence), detecting when an async operation begins and reaches a steady state, reliable snapshots and video recording across browsers, injecting the correct args to the browser containers, etc.

Adding 'waits' in for UI elements to be available feels wrong. Seems like busy work.