Ich habe eine Situation, in der ich dynamisch Funktionstests generieren muss. Grundsätzlich möchte ich BrowserStack verwenden, um meine Tests in verschiedenen Umgebungen auszuführen, aber ich möchte eine andere Testsuite registrieren, je nachdem, ob ich auf dem Desktop oder auf dem Mobilgerät arbeite.TheIntern - Bestimmen der Umgebung für dynamische Testgenerierung
Hier ist ein Ausschnitt von Code aus der Datei, die Dinge weg tritt, so dass Sie eine Vorstellung davon bekommen, wie ich es werde:
define(function (require) {
var registerSuite = require('intern!object');
var assert = require('intern/chai!assert');
var config = require('intern/dojo/node!../../node_modules/our-repo/config');
// RIGHT HERE I NEED TO KNOW PLATFORM + BROWSER INFO!
var our_sites = ['A', 'C', 'C', 'D'];
for (let i=0; i<our_sites.length; i++) {
homepage_basic_site_test_suites(registerSuite, our_sites[i], config, assert);
}
});
ich dann durch die Config laufen, dynamisch Tests zu erzeugen und rufen registerSuite
.
Was ich möchte, ist in der Lage, einen weiteren Parameter übergeben - die Umgebung, die gewählt wurde.
https://theintern.io/leadfoot/module-leadfoot_Server.html#getSessionCapabilities Scheint so, als würde es die Informationen liefern, die ich brauche, aber ich weiß nicht, wie ich es bekommen kann.
Meine Config für Man lernt nie aus der folgenden Liste von Umgebungen umfasst, und ich möchte wissen, was man für einen bestimmten Lauf wurde die homepage_basic_site_test_suites()
Funktion vor dem Aufruf gewählt: von
environments: [
{
browserName: 'IE',
version: ['11'],
platform: ['WINDOWS']
},
{
browserName: 'Edge',
version: ['13', 'latest'],
platform: ['WINDOWS']
},
{
browserName: 'Firefox',
version: ['54', 'latest'],
platform: [ 'WINDOWS', 'MAC']
},
{
browserName: 'Chrome',
version: ['45', 'latest'],
platform: ['WINDOWS', 'MAC']
},
{
browserName: 'Safari',
version: ['10.1', 'latest'],
platform: 'MAC'
},
{
browserName: 'iPhone',
platform: 'MAC',
device: ['iPhone 6'],
realMobile: true
},
{
browserName: 'iPad',
platform: 'MAC',
device: ['iPad 4th'],
realMobile: true
},
{
browserName: 'android',
platform: 'ANDROID',
device: ['Samsung Galaxy S5'],
realMobile: true
}
]