<p>We currently use PhantomJS for our system tests. It's a headless webbrowser that supports javascript. The dependency is quite indirect, namely:</p>
<pre><code>System Tests -> Capybara -> Poltergeist -> PhantomJS
</code></pre>
<p>PhantomJS last had a release in 2016, and was officially abandoned in 2017. We're starting to feel its age, since the javascript features it supports are falling a long way behind what is now used in browsers.</p>
<p>In recent years, both firefox and chrome have gained support for running in headless mode, which means we could use one or other of them for our tests instead. Additionally, a standard for "driving" these has emerged, known as the webdriver API. This, along with selenium, would replace the poltergeist part as the glue between the testing framework and the browser binary itself. So we would end up with:</p>
<pre><code>System Tests -> Capybara -> Selenium -> (Webdriver API) -> Gecko
</code></pre>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/2544?email_source=notifications&email_token=AAK2OLO7WAQBMTYDGQGI3RLRDUNQXA5CNFSM4KXX3WB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IOTWBZQ">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLO5EL42XC2DYEULZF3RDUNQXANCNFSM4KXX3WBQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AAK2OLO35WH5AAOZK5NLZ3TRDUNQXA5CNFSM4KXX3WB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IOTWBZQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/2544?email_source=notifications\u0026email_token=AAK2OLO7WAQBMTYDGQGI3RLRDUNQXA5CNFSM4KXX3WB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IOTWBZQ",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/2544?email_source=notifications\u0026email_token=AAK2OLO7WAQBMTYDGQGI3RLRDUNQXA5CNFSM4KXX3WB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IOTWBZQ",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>