Skip to content

6、集成测试

SamYan edited this page May 21, 2018 · 5 revisions
  • 安装集成测试依赖

npm install --save-dev nightmare jest-vue-report
  • 集成测试案例

import Nightmare from 'nightmare'
import { getScreenshotUrl } from 'jest-vue-report'

jest.setTimeout(15000)

describe('Login', () => {
  let page = null
  var path = require('path')
  beforeEach(() => {
    page = Nightmare({show: true}).viewport(1024, 768)
    page.goto('http://www.xingyun361.com')
  })
  it('should login with failure', async () => {
    await page
      .click('.btn.login_btn1.l')
      .wait('#username_0')
      .click('#login_bt')
      .wait('#area_error_msg')
    await  page.screenshot(getScreenshotUrl('should login with failure'))
    const content = await page.wait('#area_error_msg')
      .evaluate(() => document.querySelector('#area_error_msg').innerHTML).end()
    await page.end()
    console.log('content:>>' + content)
    expect(content).toBe('请输入用户名')
  })
})
  • 常用方法(API)

1. .goto(url[, headers])
2. end()
3. .back()
4. .forward()
5. .refresh()
6. .click(selector)
7. .mousedown(selector)
8. .mouseup(selector)
9. .mouseover(selector)
10. .insert(selector[, text])
11. .check(selector)
12. .uncheck(selector)
13. .select(selector, option)
14. .evalute(fn[, arg1, arg2, ...])
15. .wait(ms/selector)
16. .screenshot([path][,clip])

更多API,可直接访问Nightmare官方地址