@types/2.5.46
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВредDefinitions by:
рдореЗрдВ index.d.ts
) рддрд╛рдХрд┐ рд╡реЗ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗрдВ .2.5.45 рдореЗрдВ рдореИрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
expect(element(by.id('id')).getAttribute('attr')).toEqual('myValue');
рдЕрдм рдпрд╣ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ
TS2345:Argument of type '"myValue"' is not assignable to parameter of type 'Expected<Promise<string>>'.
рдЕрдЧрд░ рдореИрдВ getAttribute рдХреЗ рдмрд╛рдж .toString рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд╣рд╛рдВ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реНрдореАрди (рдпрд╛ рд╢рд╛рдпрдж рдЬреИрд╕реНрдореАрди рдХрд╛ рдкреНрд░реЛрдЯреИрдХреНрдЯрд░ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдЧрд░ рдпрд╣ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ?) рдПрдХ рд╡рд╛рджреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╡рд╛рджреЗ рдХреЗ рд╣рд▓ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдп рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рд▓реЗрдЦрдХ рдХреЛ рд╕реНрд╡рдпрдВ рд╡рд╛рджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @ lukas-zech-software рдиреЗ рдореИрдЪреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рджреЛрдВ рдореЗрдВ рдЧреБрдЬрд░рдирд╛ рдФрд░ рдЙрдирдХреЗ рд╣рд▓ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдорд┐рд▓рд╛рди рдХрд░рдирд╛ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдкреАрдЖрд░ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЪрдореЗрд▓реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреА рд╣реЛрдЧреАред
рдпрджрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╣реЛрдЧреА рддреЛ рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди рд╣реБрдЖ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рдВрджрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХреЗрд╡рд▓ expect
рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ any
рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рд╢рд╛рдпрдж рд╣реА async expect
рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЪрдореЗрд▓реА рдореЗрдВ рд╣реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХреГрдкрдпрд╛ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪрдореЗрд▓реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВред
рдЬрдм рддрдХ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХрдИ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 2.5.45 . рдкрд░ рдареАрдХ рдХрд░реЗрдВ
рдпрд╣ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╡реИрд╕реЗ рднреА рдПрдХ
рдпреЗ рдореБрджреНрджреЗ рджреЗрдЦреЗрдВ:
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14579
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14569
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14338
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/13994#issuecomment -275949045
рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ any
рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ expect
рдирдИ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЖрдкрдХреЛ рдЕрднреА рднреА рдкреБрд░рд╛рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рджреЗрддреА рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ any
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
expect<any>(element(by.id('id')).getAttribute('attr')).toEqual('myValue');
expect
рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ // UNTESTED CODE!
interface AsyncMatchers<T> extends Matchers<Promise<T>> {
toBe(expected: Expected<T>, expectationFailOutput?: any): boolean;
toEqual(expected: Expected<T>, expectationFailOutput?: any): boolean;
toContain(expected: T, expectationFailOutput?: any): boolean;
not: AsyncMatchers<T>;
}
рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ protractor.d.ts
рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдХрд╣реАрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, expect
рдореЗрдВ рд╡рд╛рджрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ toEqual
рдореЗрдВ рджрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
рдХреВрд▓, рдЗрд╕реЗ @ lukas-zech-software рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рджрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ "dereference" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЙрджрд╛ рдХреЗ рдмрдЬрд╛рдп
it('should have header', () => {
let subject = element(by.css('h1')).isPresent();
let result = true;
expect(subject).toEqual(result);
});
рдЗрд╕реЗ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓реЗрдВ
it('should have header', async () => {
let subject = await element(by.css('h1')).isPresent();
let result = true;
expect(subject).toEqual(result);
});
рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛(
рдкреНрд░рддрд┐
рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛
рд▓рд┐рдВрдХ рд╕реЗ @types/jasminewd
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдкрд╣рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ (() => {
рдкреГрд╖реНрда = рдирдпрд╛ xxx ();
browser.waitForAngularEnabled (рдЭреВрдард╛);
});
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди
рдореЗрд░реЗ рд▓рд┐рдП, рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ tsconfig.e2e.json
рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдЪрд▓ рдЧрдпрд╛ред рд╕реАрдПрд▓рдЖрдИ-рдкреНрд░рдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреЛрдгреАрдп 4 рд╕реЗ 5 рддрдХ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреАред
https://github.com/angular/protractor/issues/4176#issuecomment -310610380
рдпрджрд┐ рдЖрдк рдЕрд╢реБрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрд▓рдЧ рдХрд╛рдордХрд╛рдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд░рд╛рдмрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдЯреАрд╕рдирд┐рдВрдЧ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣рд╛ рд╣реИред
@types/jasminewd2
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ
рдореЗрд░реЗ рд▓рд┐рдП, рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░
tsconfig.e2e.json
рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдЪрд▓ рдЧрдпрд╛ред рд╕реАрдПрд▓рдЖрдИ-рдкреНрд░рдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХреЛрдгреАрдп 4 рд╕реЗ 5 рддрдХ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреАред
рдХреЛрдгреАрдп/рдЪрд╛рдЪрд╛#4176 (рдЯрд┐рдкреНрдкрдгреА)
@types/jasminewd2
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИред
рд╕реВрдЪрдирд╛, @types/jasminewd2
__IS NOT__ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдПрдХ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИ:
jasminewd2
рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ v3 рдХреЗ рд▓рд┐рдП рдЬреИрд╕реНрдореАрди рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреИрд╕реНрдореАрди v2 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИany
-d рд╣реИрдВредрд╕рд╣реА рдЙрддреНрддрд░ рдпрд╛ рддреЛ рд╣реИ:
expectAsync
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЬрдм рддрдХ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХрдИ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 2.5.45 . рдкрд░ рдареАрдХ рдХрд░реЗрдВ
рдпрд╣ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╡реИрд╕реЗ рднреА рдПрдХ
рдпреЗ рдореБрджреНрджреЗ рджреЗрдЦреЗрдВ:
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14579
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14569
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14338
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/13994#issuecomment -275949045
рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
any
рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВexpect
рдирдИ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЖрдкрдХреЛ рдЕрднреА рднреА рдкреБрд░рд╛рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рджреЗрддреА рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ
any
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВexpect
рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд┐рдВрдЧ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВрдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣ рд╢рд╛рдпрдж рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛
рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ
protractor.d.ts
рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдХрд╣реАрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП,expect
рдореЗрдВ рд╡рд╛рджрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВtoEqual
рдореЗрдВ рджрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ