Как запустить селен с помощью typeScript? - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь запустить проект автоматизации пользовательского интерфейса, который мне приходится делать с Selenium, и использую typeScript. Может кто-нибудь поделиться, как сделать то же самое? Я использовал Selenium WebDriver с Java. Я установил nodejs & npm на мою машину.

1 Ответ

1 голос
/ 03 мая 2020

Вы можете начать с

  1. Загрузка Chromedriver и поместить это в PATH
  2. Клон в этом репо и cd MochaTypescriptTest-101/
  3. npm install
  4. mocha test\SeleniumDemo.test.js

Это не совсем то, что вы ищете, но оно содержит тесты, которые помогут вам начать работу с селеном и машинописью. Просто посмотрите на их конфигурацию и вам будет хорошо go. Для более подробной информации, вы можете посмотреть эту ссылку , которая содержит следующие тесты

before – initializes chrome driver

before(function () {
    // initializing chrome driver 
    driver = new webdriver.Builder() 
    .withCapabilities(webdriver.Capabilities.chrome()) 
    .build();

    // maximizing chrome browser 
    driver.manage().window().maximize(); 
});

afterEach – takes screenshot if test case fails, collects logs etc

afterEach(function () {
    let testCaseName: string = this.currentTest.title; 
    let testCaseStatus: string = this.currentTest.state; 

    if (testCaseStatus === 'failed') { 
        console.log(`Test: ${testCaseName}, Status: Failed!`);

        // capturing screenshot if test fails 
        driver.takeScreenshot().then((data) => { 
            let screenshotPath = `TestResults/Screenshots/${testCaseName}.png`; 
            console.log(`Saving Screenshot as: ${screenshotPath}`); 
            fs.writeFileSync(screenshotPath, data, 'base64'); 
        }); 
    } else if (testCaseStatus === 'passed') { 
        console.log(`Test: ${testCaseName}, Status: Passed!`); 
    } else { 
        console.log(`Test: ${testCaseName}, Status: Unknown!`); 
    } 
});

after – closes browser

after(function () {
    driver.quit();
});

it – performs test operation and validates result. e.g. open bing.com and search for a text

it('should search for nilay shah at bing.com', function () {
    let Url: string = `http://www.bing.com`;
    return driver.get(Url).then(function () {
    console.log(`Page "${Url}" opened`);
    }).then(() => {
        return driver.getCurrentUrl().then((currentUrl) => {
            currentUrl.should.include(
            `www.bing.com`,
            `Expected url: www.bing.com, Actual url: ${currentUrl}`);
        }).then(() => {
            let searchBox = driver.findElement(webdriver.By.name('q'));
            searchBox.sendKeys('nilay shah');
            return searchBox.getAttribute('value').then((value) => {
                value.should.equal('nilay shah');
            });
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...