我正在使用Angular 5,Protractor和Cucumber进行e2e和bdd测试.当我在终端上运行时,ng e2e我收到以下错误:
当我打开页面#e2e\steps\home.steps.ts:15
错误:函数超时,确保promise在5000毫秒内解析
在第15行,我有:
When(/^I open the page$/, async () => {
await browser.get('http://localhost:49156');
});
Run Code Online (Sandbox Code Playgroud)
具体来说,就是这条线:
When(/^I open the page$/, async () => {
Run Code Online (Sandbox Code Playgroud) 如何使用当前的 Angular-cli 版本(Angular 6)安装以前版本的 Angular 项目。
我找到了一个命令,但已弃用:
ng new my_project --ng4
我找到了这篇文章,但它不能解决我的问题。我无法验证禁用 FormControls 的简单表单。我确实在这里做了一个 stackblitz 示例,请查看我的代码并验证如果名称控件被禁用,则无法验证它的值。
先感谢您。
使用 Angular 4,我尝试将值设置为“日期”类型的输入,但我无法做到。我的领域的结构如下:
<input
type="date"
class="form-control"
([ngModel])="edt_object.list_changedate"
(ngModelChange)="edt_object.list_changedate = $event"
formControlName="list_changedate"
name="list_changedate"
id="list_changedate"
style="width: 228px!important">
Run Code Online (Sandbox Code Playgroud)
我尝试设置该值的 Typescript 代码如下:
this.edt_object.list_changedate = this.lista_selected.list_changedate
Run Code Online (Sandbox Code Playgroud)
然而,什么也没有发生。当我使用 jQuery 分配值时(是的,同时使用 Angular 和 jQuery)它确实有效,但是,当我尝试使用 Angular 验证该字段时,该字段的状态为“无效”,因为 Angular 没有任何价值。我该怎么办?
我正在前端工作,并测试我的库,我收到一个预期的错误,但我无法做出断言。我有下一个代码:
it('If the username is not entered, I get an error', () => {
try {
new SDK('test', {
password: 'aaaabbbbcccc',
key: 'ddddeeefff',
});
} catch (error) {
expect(error).toThrow(
`Error: The 'username' property has not been entered`
);
}
});
Run Code Online (Sandbox Code Playgroud)
如您所见,为了对我的库进行身份验证,我需要:用户名、密码和密钥。这是我得到的错误:
谢谢你!
在内容投影场景中,我有以下场景:
// my-component.ts
@ContentChildren(SelectOption) selectOptions: QueryList<SelectOption>;
...
ngAfterContentInit() {
this.selectOptions.forEach((selectOption, i) => {
selectOption.index = i;
});
}
Run Code Online (Sandbox Code Playgroud)
假设模板具有以下结构:
<ng-content select="select-option"></ng-content>
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式模拟测试,但找不到允许我添加子组件的“添加”方法。
// my-component.spec.ts
component.selectOptions = {} as QueryList<SelectOption>;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在单元测试场景(不是集成测试)中添加预计的组件
unit-testing mocking jasmine angular angular-content-projection
我正在使用Angular进行练习,尝试使用“内置验证器”时遇到问题。我尝试将表单字段的值作为参数传递,但是当我尝试执行此操作时,我只是看到标题为“无法读取未定义的属性'get'的未定义”的错误信息:
this.form = new FormGroup({
'name': new FormControl(this.name, [
Validators.required,
Validators.minLength(4),
forbiddenNameValidator(this.name)
]),
'alterEgo': new FormControl(this.alterEgo),
'power': new FormControl(this.power, Validators.required)
});
Run Code Online (Sandbox Code Playgroud)
...更多代码...
get name(): string { return this.form.get('name').value };
get power(): string { return this.form.get('power').value };
Run Code Online (Sandbox Code Playgroud)
当我尝试将forbiddenNameValidator(this.name)方法作为参数发送时,出现该错误。
<form [formGroup]="form" (ngSubmit)="Ver()">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" formControlName="name">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
我遇到以下问题,我需要使用 forEach 循环迭代 Angular 中表单的控件属性。我正在编写以下代码:
const arr = this.bankForm.controls;
arr.forEach((element: {[key: string]: AbstractControl}) => {
});
Run Code Online (Sandbox Code Playgroud)
我有下一个错误:
我有下一个代码:
<p-dataTable [contextMenu]="cm" [value]="Usuarios" selectionMode="single" [(selection)]="selectedRecord" resizableColumns="true" [rows]="10" [paginator]="true" [pageLinks]="3" [rowsPerPageOptions]="[5,10,20]" scrollable="true" scrollWidth="100%">
<p-column [sortable]="true" field="id" header="ID" [style]="{'width':'50px'}"></p-column>
<p-column [sortable]="true" field="dni" header="DNI" [style]="{'width':'80px'}"></p-column>
<p-column [sortable]="true" field="ap_paterno" header="Apellido Paterno" [style]="{'width':'120px'}"></p-column>
<p-column [sortable]="true" field="ap_materno" header="Apellido Materno" [style]="{'width':'120px'}"></p-column>
<p-column [sortable]="true" field="nombres" header="Nombres" [style]="{'width':'120px'}"></p-column>
<p-column [sortable]="true" field="fecnac" header="Fecha de Nac" [style]="{'width':'150px'}"></p-column>
<p-column [sortable]="true" field="est_civil" header="Estado Civil" [style]="{'width':'120px'}"></p-column>
<p-column [sortable]="true" field="fec_ingreso" header="Fecha de Ingreso" [style]="{'width':'120px'}"></p-column>
<p-column [sortable]="true" field="movil" header="Movil" [style]="{'width':'100px'}"></p-column>
<p-column [sortable]="true" field="fijo" header="Fijo" [style]="{'width':'90px'}"></p-column>
<p-column [sortable]="true" field="direccion" header="Dirección" [style]="{'width':'180px'}"></p-column>
<p-column [sortable]="true" field="distrito" header="Distrito" [style]="{'width':'200px'}"></p-column> …Run Code Online (Sandbox Code Playgroud) 我不知道是否可能,但我需要知道使用 javascript 输入字符的具体位置。例如:
我有:162345.25,如果我想输入另外6个数字,在三到四个数字之间(1623 6 45.25),我需要知道在哪个位置输入(在本例中是第五个位置)。
我的问题是我需要知道在“按键”事件中我只能捕获按下的按键。有人知道这是否可能?
angular ×8
angular5 ×4
angular6 ×2
javascript ×2
typescript ×2
contextmenu ×1
cucumber ×1
date ×1
jasmine ×1
jestjs ×1
keypress ×1
matcher ×1
mocking ×1
ngmodel ×1
onkeypress ×1
protractor ×1
throw ×1
unit-testing ×1
validation ×1