Datepicker 如何使用量角器测试日期选择器?

Datepicker 如何使用量角器测试日期选择器?,datepicker,protractor,angular5,e2e-testing,Datepicker,Protractor,Angular5,E2e Testing,我一直在努力使我的量角器测试在一个日期选择器上工作。 我的html文件中有以下内容 <div fxFlex> <mat-datepicker #pickerBirthdate></mat-datepicker> <input matInput style="visibility: hidden;" [min]="minBirthdate" [max]="maxBirthda

我一直在努力使我的量角器测试在一个日期选择器上工作。 我的html文件中有以下内容

<div fxFlex>
    <mat-datepicker #pickerBirthdate></mat-datepicker>
    <input matInput
           style="visibility: hidden;"
           [min]="minBirthdate"
           [max]="maxBirthdate"
           [matDatepicker]="pickerBirthdate"
           placeholder="Fecha de nacimiento"
           [(ngModel)]="registry.data.fechaNac"
           name="fechaNac">
</div>

下面是我的规范文件

expect(page.getElementByClass('.date-select-picker'));
// get today's date
let today: any = new Date();
let dd: any = today.getDate();
let mm: any = today.getMonth() + 1; // January is 0!
const yyyy = today.getFullYear();

if (dd < 10) {
  dd = '0' + dd;
}

if ( mm < 10) {
  mm = '0' + mm;
}
today = mm + '/' + dd + '/' + yyyy;
  page.sleep();
  page.getElementByClass('.date-select-picker').sendKeys(today);`
expect(page.getElementByClass('.date选择选择器');
//得到今天的日期
让今天:any=新日期();
让dd:any=today.getDate();
让mm:any=today.getMonth()+1;//一月是零!
const yyy=today.getFullYear();
如果(dd<10){
dd='0'+dd;
}
如果(毫米<10){
毫米='0'+毫米;
}
今天=mm+'/'+dd+'/'+yyyy;
page.sleep();
page.getElementByClass('.date选择选择器').sendKeys(今天)`
问题是,它没有显示任何日期,只是看起来被提出了

我读过这篇文章,但我没能让它工作,我不知道这是否是由于我的角度版本


提前感谢并祝您愉快

我在日期选择器上遇到了类似的问题,这就是我今后选择日期的方式:

    /// click the datepicker
    element(by.css('.mat-datepicker-toggle')).click();

    /// opens the table with years
    element(by.css('.mat-calendar-arrow')).click();

    /// select year, month and day
    element(by.cssContainingText(".mat-calendar-body-cell-content", "2040")).click();        
    element(by.cssContainingText(".mat-calendar-body-cell-content", "DEC.")).click();        
    element(by.cssContainingText(".mat-calendar-body-cell-content", "31")).click();
使用线束:

const harnessLoader = ProtractorHarnessEnvironment.loader();

const matDatepickerToggleHarness = await harnessLoader.getHarness<MatDatepickerToggleHarness>(
  MatDatepickerToggleHarness.with({selector: 'mat-datepicker-toggle'})
);
await matDatepickerToggleHarness.openCalendar();
const harnessLoader=量角器harnesEnvironment.loader();
const matDatepickerToggleHarness=wait harnessLoader.getHarness(
MatDatepickerToggleHarness.with({选择器:'mat datepicker toggle'})
);
等待matDatepickerToggleHarness.openCalendar();

对于测试datepicker,您必须对每个其他组件执行相同的操作。打开日期选择器并复制它的html,然后使用
element()
sendKeys()
click()
:)在量角器中为它创建css选择器。您能解释一下代码中的以下行吗?=><代码>预期(page.getElementByClass('.date选择选择器')感谢您的回复,我在遇到此问题的地方停止了工作,我再也看不到代码了。如果您正在寻找自动角度材质日期选择器,请观看此视频youtube.com/Watch?v=T8QRDQjt5lw&t=6s