Commit 58ca12e8 authored by valleykid's avatar valleykid Committed by ddcat1115

Nightmare -> puppeteer (#1006)

parent 928e2364
......@@ -77,7 +77,7 @@
"stylelint-config-standard": "^18.0.0"
},
"optionalDependencies": {
"nightmare": "^2.10.0"
"puppeteer": "^1.1.1"
},
"lint-staged": {
"**/*.{js,jsx}": "lint-staged:js",
......
import Nightmare from 'nightmare';
import puppeteer from 'puppeteer';
describe('Homepage', () => {
it('it should have logo text', async () => {
const page = Nightmare().goto('http://localhost:8000');
const text = await page.wait('h1').evaluate(() => document.body.innerHTML).end();
const browser = await puppeteer.launch();
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>');
await page.close();
browser.close();
});
});
import Nightmare from 'nightmare';
import puppeteer from 'puppeteer';
describe('Login', () => {
let browser;
let page;
beforeEach(() => {
page = Nightmare();
page
.goto('http://localhost:8000/')
.evaluate(() => {
window.localStorage.setItem('antd-pro-authority', 'guest');
})
.goto('http://localhost:8000/#/user/login');
beforeAll(async () => {
browser = await puppeteer.launch();
});
beforeEach(async () => {
page = await browser.newPage();
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 () => {
await page.type('#userName', 'mockuser')
.type('#password', 'wrong_password')
.click('button[type="submit"]')
.wait('.ant-alert-error') // should display error
.end();
await page.type('#userName', 'mockuser');
await page.type('#password', 'wrong_password');
await page.click('button[type="submit"]');
await page.waitForSelector('.ant-alert-error'); // should display error
});
it('should login successfully', async () => {
const text = await page.type('#userName', 'admin')
.type('#password', '888888')
.click('button[type="submit"]')
.wait('.ant-layout-sider h1') // should display error
.evaluate(() => document.body.innerHTML)
.end();
await page.type('#userName', 'admin');
await page.type('#password', '888888');
await page.click('button[type="submit"]');
await page.waitForSelector('.ant-layout-sider h1'); // should display error
const text = await page.evaluate(() => document.body.innerHTML);
expect(text).toContain('<h1>Ant Design Pro</h1>');
});
afterAll(() => browser.close());
});
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment