2017-10-06 2 views
3

J'utilise la bibliothèque chrome puppeteer directement pour exécuter des tests d'intégration de navigateur. J'ai quelques tests écrits maintenant dans des fichiers individuels. Y a-t-il un moyen de les faire fonctionner en parallèle? Quel est le meilleur moyen d'y parvenir?Comment activer les tests parallèles avec un marionnettiste?

Répondre

0
// My tests contain about 30 pages I want to test in parallel 
const aBunchOfUrls = [ 
    { 
    desc: 'Name of test #1', 
    url: SOME_URL, 
    }, 
    { 
    desc: 'Name of test #2', 
    url: ANOTHER_URL, 
    }, 
    // ... snip ... 
]; 

const browserPromise = puppeteer.launch(); 

// These test pass! And rather quickly. Slowest link is the backend server. 
// They're running concurrently, generating a new page within the same browser instance 
describe('Generate about 20 parallel page tests',() => { 
    aBunchOfUrls.forEach((testObj, idx) => { 
    it.concurrent(testObj.desc, async() => { 
     const browser = await browserPromise; 
     const page = await browser.newPage(); 

     await page.goto(testObj.url, { waitUntil: 'networkidle' }); 
     await page.waitForSelector('#content'); 

     // assert things.. 
    }); 
    }); 
}); 

de https://github.com/GoogleChrome/puppeteer/issues/474 écrit par https://github.com/quicksnap