Автоматизация тестирования с использованием транспортира, машинописного текста и жасмина - PullRequest
0 голосов
/ 20 сентября 2018

Недавно меня устроили в новую компанию, они используют автоматическое тестирование, используя транспортир, жасмин и скрипт типа.На самом деле у меня есть опыт в селене с Java, но я не знаю, транспортир.Подскажите пожалуйста, как мне начать тестирование транспортира?Есть ли какая-либо связь между транспортиром, жасмином и шрифтом типа?

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Чтобы узнать транспортир, прочитайте здесь .На этом сайте достаточно примеров с ссылками API.После того, как вы разберетесь с понятиями транспортир и асинхронный характер, попробуйте внести изменения с помощью машинописного текста ... это поможет.

0 голосов
/ 20 сентября 2018

PROTRACTOR: В общем, вы можете сказать, что транспортир - это внешний новый слой селена для поддержки некоторых дополнительных локаторов угловых js, таких как ng-модель, ng-привязка, ng-ретранслятор и т. Д.Остальная функциональность транспортира почти такая же, как у селена.

JASMINE: В то время как Jasmine - это фреймворк, с помощью которого мы напишем наши тесты.Вот некоторые из ключевых слов для написания тестового примера с использованием Jasmine: Describe () {it ()} и т. Д.

TYPESCRIPT: Type-Script - это супер-набор java-скриптов.Теперь наш выбор - написать наши тестовые примеры в java-script или type script.

Итак, завершая весь рассказ, я могу сказать, что когда у нас есть сценарий для тестирования угловых приложений, мызатем будет использовать protractor.js для автоматизации угловых приложений с использованием фреймворка jasmine, написанного на JavaScript / typescript.

0 голосов
/ 20 сентября 2018

1) Learn Typescript: больше похож на Java https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html

2) async и await (Protrctor пропустит поток управления селеном) https://github.com/angular/protractor/tree/5.4.0/exampleTypescript/asyncAwait

// LoginPageTest.ts
describe('Protractor Typescript TestCase Demo', function() {
it('Test case Name',async function (){
    let loginpage:LoginPage = new LoginPage(browser);
    await loginpage.EnterUserName(XL);
    await loginpage.IsTextPresentInUserName(XL); 
});
});

export class LoginPage extends Pagebase
constructor(common){ this.driv=common; }
Username            = element(  by.id('userName'));

public async EnterUserName(XL:Map<string,string>) {
await this.clickClearType( this.driv,   this.UserName,  await AXL.get("userName")); 
}

//Pagebase.ts
constructor(common){ this.driv=common;}
public async clickClearType(elementn,textvalue){
    try { 
        await this.driv.wait(protractor.ExpectedConditions
            .elementToBeClickable(elementn), 15000, 
            'Element taking too long to appear in the DOM');
        // Click
        await elementn.click();
        // clear 
        await elementn.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, 'a'));
        await elementn.sendKeys(protractor.Key.DELETE);
        // Type
        await elementn.sendKeys(textvalue);();

        console.log("Element Clicked Success" );
    } 
    catch (error) {
        // Handle errors here
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...