2016-02-23 20 views
17

için denenebilirlik bulunamadı İletim 3.1.1 ve Angular2 ile basit bir HelloWorld örneği çalıştırıyorum, ancak bu şey bana bildiriyor. öğesi için test bulunamadı. Hata hakkında bazı bilgiler için internete baktım, ama şans yok, pek çok kişinin karşılaşmadığı yeni bir istisna gibi görünüyor.İletki 3.1.1 + Açısal2: Öğe

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'my-app', 
    template: '<h1>My First Angular 2 App</h1>' + 
    '<h2>{{myName}}</h2>' + 
    '<input id="someId" [(ngModel)]="myName"/>' 
}) 
export class AppComponent { 
    myName = 'Joe'; 
} 

Bu Açıölçer yapılandırma dosyasıdır:

Bu

kullanıyorum bileşenidir

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: [ 
    'e2e/*.js' 
    ], 
    baseUrl: 'http://localhost:3000' 
}; 

Ve bu çalıştırıyorum Açıölçer senaryodur:

describe('angularjs homepage', function() { 
    it('should say my name', function() { 
     browser.get('/index.html'); 
     var greeting = element(by.id('someId')); 
     expect(greeting.getAttribute('value')).toEqual('Joe'); 
    }); 
}); 

Web sayfası, normal olarak işlenen HTML şablonuna göre yüklenir, ancak iletici sonuçta ortaya çıkan web sayfasının bir Şimdi açısal web sayfası, neden bu? Açıkçası, sonuçta ortaya çıkan web sayfasını incelediğimde, işlenen Açısal kodun yalnızca ortaya çıkan HTML'sidir, yanlış bir şey mi yapıyorum?

Bu tam hatadır: Açıölçer Öğretici Bu tanıtım sayfası kullanılarak dediği gibi basit bir test çalıştırırsanız

Error: Failed: Error while waiting for Protractor to sync with the page: "Could not find testability for element." 

: http://juliemr.github.io/protractor-demo/, beklendiği işleri olarak, bu nedenle bir şey benim Angular2 kodu olacağını Açıölçer onunla çalışmıyor, ama şimdiden fikirler bitti, ne olduğunu bilen var mı?

GÜNCELLEME 23-02-2016

O Angular2 ile Protractor kullanmak bulduğumuz bazı araştırmalar, yapılandırma dosyasında ek bir yapılandırma satırı olmalıdır sonra:

useAllAngular2AppRoots: true 

şekilde conf js şimdi benziyor:

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: [ 
    'e2e/*.js' 
    ], 
    baseUrl: 'http://localhost:3000', 
    useAllAngular2AppRoots: true 
}; 

veya açıkça uygulama kökü içerir:

rootElement: 'my-app' 

bu güncellemeden sonra tüm bir eleman by.id() eser Tamam bulmak için çağırır, ancak locators by.model() veya by.binding() herhangi birini kullanmak gibi yaparsam, sadece mesajın UnknownError: unknown error: angular is not defined başarısız olur. Neden olduğu hakkında bir fikrim yok.

+0

Aynı sorun, ben by.css() '(by.id)' veya 'kullanacağız sanırım' an için ... – foch

+1

Sen sadece bana bir sürü güçlük dostum kurtardı! –

+0

benim için de düzeltildi! güncellemeyi cevap olarak göndermelisiniz, böylece başkaları çözümün ne olduğunu kolayca bulabilir. – OJ7

cevap

2

Görünüşe göre bu işlemde bir hata var. Check this!.

Ama kullanarak testleri çalıştırabilirsiniz şimdilik browser.executeScript('window.name = "NG_ENABLE_DEBUG_INFO!"');