Browse Source

Nightmare -> puppeteer (#1006)

pull/1031/merge
valleykid 9 years ago
committed by ddcat1115
parent
commit
58ca12e8e6
  1. 2
      package.json
  2. 11
      src/e2e/home.e2e.js
  3. 44
      src/e2e/login.e2e.js

2
package.json

@ -77,7 +77,7 @@
"stylelint-config-standard": "^18.0.0" "stylelint-config-standard": "^18.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"nightmare": "^2.10.0" "puppeteer": "^1.1.1"
}, },
"lint-staged": { "lint-staged": {
"**/*.{js,jsx}": "lint-staged:js", "**/*.{js,jsx}": "lint-staged:js",

11
src/e2e/home.e2e.js

@ -1,9 +1,14 @@
import Nightmare from 'nightmare'; import puppeteer from 'puppeteer';
describe('Homepage', () => { describe('Homepage', () => {
it('it should have logo text', async () => { it('it should have logo text', async () => {
const page = Nightmare().goto('http://localhost:8000'); const browser = await puppeteer.launch();
const text = await page.wait('h1').evaluate(() => document.body.innerHTML).end(); const page = await browser.newPage();
await page.goto('http://localhost:8000');
await page.waitForSelector('h1');
const text = await page.evaluate(() => document.body.innerHTML);
expect(text).toContain('<h1>Ant Design Pro</h1>'); expect(text).toContain('<h1>Ant Design Pro</h1>');
await page.close();
browser.close();
}); });
}); });

44
src/e2e/login.e2e.js

@ -1,32 +1,36 @@
import Nightmare from 'nightmare'; import puppeteer from 'puppeteer';
describe('Login', () => { describe('Login', () => {
let browser;
let page; let page;
beforeEach(() => {
page = Nightmare(); beforeAll(async () => {
page browser = await puppeteer.launch();
.goto('http://localhost:8000/') });
.evaluate(() => {
window.localStorage.setItem('antd-pro-authority', 'guest'); beforeEach(async () => {
}) page = await browser.newPage();
.goto('http://localhost:8000/#/user/login'); await page.goto('http://localhost:8000/#/user/login');
await page.evaluate(() => window.localStorage.setItem('antd-pro-authority', 'guest'));
}); });
afterEach(() => page.close());
it('should login with failure', async () => { it('should login with failure', async () => {
await page.type('#userName', 'mockuser') await page.type('#userName', 'mockuser');
.type('#password', 'wrong_password') await page.type('#password', 'wrong_password');
.click('button[type="submit"]') await page.click('button[type="submit"]');
.wait('.ant-alert-error') // should display error await page.waitForSelector('.ant-alert-error'); // should display error
.end();
}); });
it('should login successfully', async () => { it('should login successfully', async () => {
const text = await page.type('#userName', 'admin') await page.type('#userName', 'admin');
.type('#password', '888888') await page.type('#password', '888888');
.click('button[type="submit"]') await page.click('button[type="submit"]');
.wait('.ant-layout-sider h1') // should display error await page.waitForSelector('.ant-layout-sider h1'); // should display error
.evaluate(() => document.body.innerHTML) const text = await page.evaluate(() => document.body.innerHTML);
.end();
expect(text).toContain('<h1>Ant Design Pro</h1>'); expect(text).toContain('<h1>Ant Design Pro</h1>');
}); });
afterAll(() => browser.close());
}); });

Loading…
Cancel
Save