有没有类似于 Capybara 适用于 Node.js 的东西?
有没有类似于 Capybara 适用于 Node.js 的东西?
Zombie怎么样?
Zombie.js
使用Node.js进行极速的无头全栈测试
The Bite
如果你要编写一个极快的无头浏览器,你怎么能不叫它Zombie呢?这就是Zombie.js。
Zombie.js是一个轻量级框架,用于在模拟环境中测试客户端JavaScript代码。不需要浏览器。
嗨!
我创建了一个库来帮助使用cucumber-js。它提供了可调用的步骤和解析参数。这适用于cucumber,而不是替换它。
快速功能:
我们在JS中创建了一个完整的验收测试解决方案。
它使用CucumberJS(很快就会使用Mocha / Jasmine)来驱动您的验收测试。request
npm库(用于REST)您选择的断言库(Chai / Jasmine-expect)@focus
的场景的观察模式它还不会为您制作咖啡。
在验收测试方面,我经常使用Capybara来进行Rails的测试。但是我对于NodeJS中列出的替代方案感到不满意。你需要一个流行的Web自动化工具,结合针对特定功能场景的断言能力。
当你想到Node中的Web自动化时,Phantom和Casper已经过时了。那么现在有什么新兴的工具呢?Puppeteer。几年前,Puppeteer还处于beta阶段,关于它的文章和SO帖子很少。但现在,Puppeteer正在成为Node中Web自动化的领导者。然而,你不能在Puppeteer中断言,这是你从测试框架中所期望的。
但这并不妨碍我们将测试工具集成到Puppeteer Web自动化中。我发现了一些使用jest作为测试工具的解决方案。
const puppeteer = require('puppeteer');
describe('Open Website', () => {
var browser, page;
var url = 'https://website.io'
beforeEach (async () => {
browser = await puppeteer.launch({ headless: false });
page = await browser.newPage();
})
afterEach (() => {
browser.close()
})
test('Title == Website Tools', async () => {
await page.goto(url);
const title = await page.title();
expect(title).toBe("Website Tools");
});