Выполнение testcafe не происходит, но отображается как пройденное - PullRequest
1 голос
/ 23 марта 2020

Я новичок в testcafe и пытаюсь работать над фреймворком

Проблема Проблема, с которой я столкнулся, заключается в том, что при выполнении теста открывается * Браузер 1027 * и сразу результаты с одним пройденным тестом без выполнения какого-либо выполнения в браузере

Может кто-нибудь помочь мне это исправить.

Мой код выглядит следующим образом

файл теста

    import { Selector } from "testcafe";
    import LoginPage from '../page-objects/login.po';

    fixture`Getting Started`.page`https://somepage.com/`;
    const loginPage = new LoginPage();

    test("My First Test", async t => {
        loginPage.login();
    });

Файл объекта страницы

import { Selector, t } from 'testcafe';
import CommonFunctions from '../commons/common-fns'

export default class LoginPage extends CommonFunctions {

    emailTxtBox: Selector;
    nextBttn: Selector;
    microsoftNextBttn: Selector;
    signinBttn: Selector;
    passwordTxtBox: Selector;
    noBttn: Selector;

    constructor () {
        super();
        this.emailTxtBox = Selector('input[type="email"]');
        this.nextBttn = Selector('button[type="submit"]');
        this.microsoftNextBttn = Selector('input[type="submit"]');
        this.passwordTxtBox = Selector('input[type="password"]');
        this.signinBttn = Selector('input[type="submit"]');
        this.noBttn = Selector('#idBtn_Back');
    }

     login() {
         this.typeText(this.emailTxtBox, 'ci360-user@dynatrace.com');
         this.click(this.nextBttn);
         this.typeText(this.emailTxtBox, 'ci360-user@dynatrace.com');
         this.click(this.microsoftNextBttn);
         this.typeText(this.passwordTxtBox, 'Dynatrace2019');
         this.click(this.signinBttn);
         this.click(this.noBttn);
    }
}

Файл Common-Fucntions

import { t } from 'testcafe';

export default class CommonFunctions {

    public async click(selector : Selector, options? : ClickActionOptions) {
        await t
        .takeScreenshot()
        .click(selector, options);
    }

    public async typeText(selector : Selector, text : string, options? : TypeActionOptions) {
        await t
        .takeScreenshot()
        .typeText(selector, text, options);
    }
}

1 Ответ

3 голосов
/ 24 марта 2020

Вам нужно использовать оператор await, прежде чем ваш asyn c будет работать следующим образом:

test("My First Test", async () => {
    await loginPage.login();
});

async login() {
     await this.typeText(this.emailTxtBox, 'ci360-user@dynatrace.com');
     await this.click(this.nextBttn);
     await this.typeText(this.emailTxtBox, 'ci360-user@dynatrace.com');
     await this.click(this.microsoftNextBttn);
     await this.typeText(this.passwordTxtBox, 'Dynatrace2019');
     await this.click(this.signinBttn);
     await this.click(this.noBttn);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...