gpt4 book ai didi

javascript - Protractor 3.1.1 + Angular2 : Could not find testability for element

转载 作者:可可西里 更新时间:2023-11-01 01:19:42 24 4
gpt4 key购买 nike

我正在使用 Protractor 3.1.1 和 Angular2 运行一个简单的 HelloWorld 示例,但是这个东西一直告诉我找不到元素的可测试性。我在 Internet 上搜索了有关该错误的一些信息,但运气不佳,这似乎是一种新的异常,没有多少人遇到过。

这是我正在使用的组件:

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';
}

这是 Protractor 配置文件:

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

这是我正在运行的 Protractor 场景:

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');
});
});

网页正常加载呈现的 HTML 模板,但 Protractor 认为生成的网页不是 Angular 网页,现在,这是为什么?显然,如果我检查生成的网页,它只是经过处理的 Angular 代码生成的 HTML,我是不是做错了什么?

这是完整的错误:

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

如果我按照 Protractor 教程所说的那样运行一个简单的测试,使用这个演示页面:http://juliemr.github.io/protractor-demo/ ,它按预期工作,所以有些东西有我的 Angular2 代码, Protractor 无法使用它,但我已经没有想法了,有人知道发生了什么吗?

更新 23-02-2016

经过一些研究,我发现要在 Angular2 中使用 Protractor,配置文件中必须有一个额外的配置行:

useAllAngular2AppRoots: true

这样 conf.js 现在看起来像:

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

或明确包含应用根目录:

rootElement: 'my-app'

在此更新之后,所有查找元素的调用 by.id() 工作正常,但如果您假装使用任何定位器 by.model()by.binding(),它将简单地失败并显示消息 UnknownError: unknown error: angular is not defined。不知道为什么。

最佳答案

显然该提交中存在错误。 Check this! .

但是现在您可以使用browser.executeScript('window.name = "NG_ENABLE_DEBUG_INFO!"');

关于javascript - Protractor 3.1.1 + Angular2 : Could not find testability for element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com