# 📣 Announcing Dash Testing

**URL:** <https://community.plotly.com/t/announcing-dash-testing/24868>\
**Category:** Dash Python\
**Tags:** announcements\
**Created:** [June 20, 2019, 8:40pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868 "2019-06-20T20:40:04Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![byronz](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/byronz/32/5727_2.png) [@byronz](https://community.plotly.com/u/byronz)\
**Post date:** [June 20, 2019, 8:40pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868/1 "2019-06-20T20:40:05Z")

</div>

Hello Community,

As part of Dash 1.0.0 release, `dash.testing` 🧪 provides some off-the-rack `pytest` fixtures and a minimal set of testing APIs with our internal crafted best practices at the integration level.

It’s blazing-fast to test dash apps with Selenium,

![demo2](https://user-images.githubusercontent.com/1394467/59371892-33d57400-8d14-11e9-8d8b-6ffc023746e9.gif)

and super easy to write your first web automation test.

```python

def test_demo_official_doc_site(dash_br):

    dash_br.server_url = 'https://dash.plot.ly/testing'

    assert dash_br.wait_for_element("h1").text == "Dash Testing"
    assert dash_br.get_logs() == [], "browser console should contain no error"

    dash_br.percy_snapshot("dash testing page")

```

See full testing document [here](https://dash.plot.ly/testing)

---

<div class="post-metadata">

**Author:** ![nedned](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/nedned/32/8795_2.png) [@nedned](https://community.plotly.com/u/nedned)\
**Post date:** [June 22, 2019, 8:12am UTC](https://community.plotly.com/t/announcing-dash-testing/24868/2 "2019-06-22T08:12:12Z")

</div>

Amazing, this is great!

---

<div class="post-metadata">

**Author:** ![mtm](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@mtm](https://community.plotly.com/u/mtm)\
**Post date:** [June 26, 2019, 1:05pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868/3 "2019-06-26T13:05:33Z")

</div>

Very cool - is there any way to specify a headless mode?

---

<div class="post-metadata">

**Author:** ![byronz](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/byronz/32/5727_2.png) [@byronz](https://community.plotly.com/u/byronz)\
**Post date:** [July 2, 2019, 3:10pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868/4 "2019-07-02T15:10:50Z")

</div>

hi @mtm

Do you mean PhantomJS or headless mode in Firefox and/or Chrome? It would be great if you can provide more context, insights as feature request [here](https://github.com/plotly/dash/issues). Thanks

---

<div class="post-metadata">

**Author:** ![byronz](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/byronz/32/5727_2.png) [@byronz](https://community.plotly.com/u/byronz)\
**Post date:** [July 2, 2019, 3:13pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868/5 "2019-07-02T15:13:35Z")

</div>

sorry just back from vacation, I found your [issue](https://github.com/plotly/dash/issues/793) in github and will address it soon.

---

<div class="post-metadata">

**Author:** ![huacai](https://avatars.discourse-cdn.com/v4/letter/h/f14d63/32.png) [@huacai](https://community.plotly.com/u/huacai)\
**Post date:** [February 12, 2021, 8:25pm UTC](https://community.plotly.com/t/announcing-dash-testing/24868/6 "2021-02-12T20:25:30Z")

</div>

Hello @byronz, thank you sharing your experience. I tried your approach and I got an error as the following:  
raise WebDriverException(  
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.  
I have downloaded the chromedriver. Where shall I put the file? Thank you.
