diff options
-rw-r--r-- | example/Dockerfile.integration-tests | 3 | ||||
-rw-r--r-- | example/integration-tests/index.test.js | 41 |
2 files changed, 44 insertions, 0 deletions
diff --git a/example/Dockerfile.integration-tests b/example/Dockerfile.integration-tests new file mode 100644 index 0000000..41de685 --- /dev/null +++ b/example/Dockerfile.integration-tests | |||
@@ -0,0 +1,3 @@ | |||
1 | FROM buildkite/puppeteer:latest | ||
2 | RUN npm i mocha | ||
3 | ENV PATH="${PATH}:/node_modules/.bin" \ No newline at end of file | ||
diff --git a/example/integration-tests/index.test.js b/example/integration-tests/index.test.js new file mode 100644 index 0000000..dd39d8a --- /dev/null +++ b/example/integration-tests/index.test.js | |||
@@ -0,0 +1,41 @@ | |||
1 | const assert = require('assert') | ||
2 | const puppeteer = require('puppeteer') | ||
3 | |||
4 | let browser | ||
5 | let page | ||
6 | |||
7 | before(async() => { | ||
8 | browser = await puppeteer.launch({ | ||
9 | args: [ | ||
10 | // Required for Docker version of Puppeteer | ||
11 | '--no-sandbox', | ||
12 | '--disable-setuid-sandbox', | ||
13 | // This will write shared memory files into /tmp instead of /dev/shm, | ||
14 | // because Docker’s default for /dev/shm is 64MB | ||
15 | '--disable-dev-shm-usage' | ||
16 | ] | ||
17 | }) | ||
18 | |||
19 | const browserVersion = await browser.version() | ||
20 | console.log(`Started ${browserVersion}`) | ||
21 | }) | ||
22 | |||
23 | beforeEach(async() => { | ||
24 | page = await browser.newPage() | ||
25 | }) | ||
26 | |||
27 | afterEach(async() => { | ||
28 | await page.close() | ||
29 | }) | ||
30 | |||
31 | after(async() => { | ||
32 | await browser.close() | ||
33 | }) | ||
34 | |||
35 | describe('App', () => { | ||
36 | it('renders', async() => { | ||
37 | const response = await page.goto('http://app/') | ||
38 | assert(response.ok()) | ||
39 | await page.screenshot({ path: `/screenshots/app.png` }) | ||
40 | }) | ||
41 | }) \ No newline at end of file | ||