2017-01-17 4 views
1

Ich versuche Winkelmesser e2e Testfälle auf Safari mit Windows 7 seinem Wurf folgende Fehler auszuführen:Protractor arbeitet nicht für Safari auf Windows 7

[10:27:59] I/local - Starting selenium standalone server... 
[10:27:59] I/launcher - Running 1 instances of WebDriver 
[10:28:00] I/local - Selenium standalone server started at http://10.1.69.133:65294/wd/hub 
[10:28:01] E/launcher - The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for Capabilities [{ 
ceptSslCerts=true, trustAllSSLCertificates=true, name=safari-tests, count=1, browserName=safari, directConnect=false, sharedTestFiles=true}] 
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' 
System info: host: 'DENXD7OShore41p', ip: '10.1.69.133', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_112' 
Driver info: driver.version: unknown 
[10:28:01] E/launcher - WebDriverError: The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance for 
apabilities [{acceptSslCerts=true, trustAllSSLCertificates=true, name=safari-tests, count=1, browserName=safari, directConnect=false, sharedTestFile 
true}] 
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' 
System info: host: 'DENXD7OShore41p', ip: '10.1.69.133', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_112' 
Driver info: driver.version: unknown 
    at WebDriverError (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\error.js:27:5) 
    at Object.checkLegacyResponse (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\error.js:639:15) 
    at parseHttpResponse (c:\Git\operator\ui\node_modules\selenium-webdriver\http\index.js:538:13) 
    at client_.send.then.response (c:\Git\operator\ui\node_modules\selenium-webdriver\http\index.js:472:11) 
    at ManagedPromise.invokeCallback_ (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\promise.js:1379:14) 
    at TaskQueue.execute_ (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\promise.js:2913:14) 
    at TaskQueue.executeNext_ (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\promise.js:2896:21) 
    at asyncRun (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\promise.js:2820:25) 
    at c:\Git\operator\ui\node_modules\selenium-webdriver\lib\promise.js:639:7 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: WebDriver.createSession() 
    at Function.createSession (c:\Git\operator\ui\node_modules\selenium-webdriver\lib\webdriver.js:329:24) 
    at Builder.build (c:\Git\operator\ui\node_modules\selenium-webdriver\builder.js:458:24) 
    at Local.DriverProvider.getNewDriver (c:\Git\operator\ui\node_modules\protractor\built\driverProviders\driverProvider.js:37:33) 
    at Runner.createBrowser (c:\Git\operator\ui\node_modules\protractor\built\runner.js:198:43) 
    at c:\Git\operator\ui\node_modules\protractor\built\runner.js:277:30 
    at _fulfilled (c:\Git\operator\ui\node_modules\q\q.js:834:54) 
    at self.promiseDispatch.done (c:\Git\operator\ui\node_modules\q\q.js:863:30) 
    at Promise.promise.promiseDispatch (c:\Git\operator\ui\node_modules\q\q.js:796:13) 
    at c:\Git\operator\ui\node_modules\q\q.js:604:44 
    at runSingle (c:\Git\operator\ui\node_modules\q\q.js:137:13) 
[10:28:01] E/launcher - Process exited with error code 199 

Hier ist der Code für meine protractor.conf.js Datei . Ich habe einige Änderungen in der Konfiguration nach dem Fehler, wie ich Selen-Adresse hinzugefügt und entfernt acceptSslCerts = true, trustAllSSLCertificates = true, aber danach bekomme ich den gleichen Fehler.

/*global jasmine */ 
var SpecReporter = require('jasmine-spec-reporter'); 

exports.config = { 
    allScriptsTimeout: 11000, 
    specs: [ 
    './e2e/**/*.e2e-spec.ts' 
    ], 
    capabilities: { 
    browserName: 'safari', 
     name: 'safari-tests', 
     directConnect: false, 
     seleniumAddress: 'http://localhost:4444/wd/hub' 
    }, 
maxInstances: 1, 
    baseUrl: 'http://localhost:3000/', 
    framework: 'jasmine', 
    jasmineNodeOpts: { 
    showColors: true, 
    defaultTimeoutInterval: 300000, 
    isVerbose : true, 
    includeStackTrace : true, 
    print: function() {} 
    }, 
    useAllAngular2AppRoots: true, 
    onPrepare: function() { 
    require('ts-node').register({ 
     project: 'e2e' 
    }); 
    jasmine.getEnv().addReporter(new SpecReporter()); 
    browser.ignoreSynchronization = true; 
    } 
}; 

Benötigt es eine andere Konfiguration, um es auf Safari auszuführen.

+1

Dies ist sehr wahrscheinlich ein Problem mit Ihrer Konfiguration. Es wird versucht, 'EdgeDriver' zu verwenden, aber _should_ sollte 'SafariDriver' verwenden. Bitte posten Sie Ihre Konfiguration – Brine

+0

@Brine Ich habe Code meiner Konfigurationsdatei hinzugefügt. –

Antwort

2

Safari für Windows war discontinued years ago und die Installation der alten Safari 5-Exe, die immer noch da ist, wird Ihnen nicht helfen, irgendetwas Nützliches bezüglich der Testautomatisierung zu erreichen.

Also nie herunterladen Safari von anderen, die the official site sonst Chancen sind Sie bekommen einen Trojaner drin.

Sie können Safari nur mit einem Mac OSX testen oder Sie können Soce Labs/BrowserStack/Testing Bot/andere Cloud-Testanbieter in Browsern testen, die Sie nicht lokal installiert haben.