Перейти к содержимому

Публикации dmimaz

7 публикаций создано dmimaz (учитываются публикации только с 17 апреля 2023)


#172795 WebdriverIO + Google Dropdown Autocomplete (Places Geocoder).

Отправлено автор: dmimaz 01 июля 2019 - 12:44 в Selenium - Functional Testing

И снова.... стоило чуток подумать.. и вот оно..
 

let customerFormAddress = await $('#customerform-address');
await customerFormAddress.click();
await customerFormAddress.setValue('Моск');
await browser.pause(200);
await browser.keys('ArrowDown');
await browser.pause(200);
await browser.keys('ArrowDown');
await browser.pause(200);
await browser.keys('Enter');
Здесь мы:
  1. находим нужный локатор
  2. засылаем в него начало нужной строки
  3. нажимаем !2! раза на стрелочку вниз чтоб автоподставить значение из первого snap в этом дропдауне
  4. нажимает энтер
  5. без явных пауз (от 200 миллисекунд) оно не работает

ТЕМА ЗАКРЫТА.




#172794 WebdriverIO + Google Dropdown Autocomplete (Places Geocoder).

Отправлено автор: dmimaz 01 июля 2019 - 11:42 в Selenium - Functional Testing

Привет. Помогите кликнуть по пункту, выпдающему в дропдауне типа вот такого https://developers.g...laceid-geocoder.

LaPwp27.png

 

WebdriverIO.... Сойдет и Selenium-Webdriver, если есть идеи )

 

Не получается найти локатор нужного элемента.....




#172651 Selenium-webdriver, NodeJS, Mocha, chai. Все тесты запускаются сразу.

Отправлено автор: dmimaz 20 июня 2019 - 12:58 в Selenium - Functional Testing

Тема закрыта. Решилось, на примере Webdriverio, добавлением 

browser.reloadSession();

во второй и последующий сценарии, сдля сброса сессии. Если нужно, можно (нужно) добавить await впереди.

 

На selenium-webdriver не реализовывал - нет времени и необходимости. Но наверняка там тоже есть что-то подобное этому

driver.manage().deleteAllCookies(); 



#172647 WebdrioverIO не кликает по кнопке

Отправлено автор: dmimaz 20 июня 2019 - 07:54 в Selenium - Functional Testing

const assert = require('assert');

describe('Desktop login', () => {
    it('Retail login', async () => {
        await browser.setWindowSize(1024, 768);
        await browser.url('https://gepur.com');
        const loginButton = await $('a.h-account');
        await loginButton.click();
        const email = await $('id=loginform-email');
        email.setValue('someLogin');
        const password = await $('id=loginform-password');
        password.setValue('somePassword');
        browser.debug();
        const submitButton = await $('button.btn-basik.btn-sm.btn-black');
        await browser.pause(500);
        await submitButton.click();
        await browser.pause(200);
        let url1 = await driver.getUrl()
        await browser.pause(200);
        await assert.equal(url1, 'https://gepur.com/');
        await browser.closeWindow();
    });
});

В общем, тема закрыта. Решил добавлением паузы




#172632 Selenium-webdriver, NodeJS, Mocha, chai. Все тесты запускаются сразу.

Отправлено автор: dmimaz 19 июня 2019 - 07:41 в Selenium - Functional Testing

Привет Помогите пожалуйста сделать так чтоб:

1. Тесты запускались по очереди (после завершения первого теста, запускается второй, третий и так далее (только после завершения предыдущего))

2. каждый новый тест создает новое окно браузера.

 

Что-то я наворотил и немножко запутался ))

const expect = require('chai').expect;
const equal = require('chai').equal;
const webdriver = require('selenium-webdriver');
const driver = new webdriver.Builder().forBrowser('chrome').build();
const Key = require('selenium-webdriver');
const By = webdriver.By;

describe('Desktop Login', () => {

    it('Retail', (done) => {
        setTimeout(() => {
            driver.get('https://gepur.com').then(async () => {
                await driver.manage().window().maximize();    
                await driver.findElement(By.className('h-account'))
                .then(el => el.click())
                .then(() => driver.findElement(By.id('loginform-email')))
                .then(el => el.sendKeys('someLogin'))
                .then(() => driver.findElement(By.id('loginform-password')))
                .then(el => el.sendKeys('somePasswd'))
                .then(() => driver.findElement(By.css('button.btn-basik.btn-sm.btn-black')))
                .then(el => el.click());
                
                await driver.sleep(500);
                let siteUrl = await driver.getCurrentUrl();
                expect(siteUrl).to.equal('https://gepur.com/');
                await driver.quit();
            });
            done();
        }, 1000);        
    });

    it('Wholesale', (done) => {
        setTimeout(() => {
            driver.get('https://gepur.com').then(async () => {
                await driver.manage().window().maximize();    
                await driver.findElement(By.className('h-account'))
                .then(el => el.click())
                .then(() => driver.findElement(By.id('loginform-email')))
                .then(el => el.sendKeys('someLogin'))
                .then(() => driver.findElement(By.id('loginform-password')))
                .then(el => el.sendKeys('somePasswd'))
                .then(() => driver.findElement(By.css('button.btn-basik.btn-sm.btn-black')))
                .then(el => el.click());
                
                await driver.sleep(500);
                let siteUrl = await driver.getCurrentUrl();
                expect(siteUrl).to.equal('https://gepur.com/');
                await driver.quit();
            });
            done();
        }, 1000);        
    });
});



#172629 WebdrioverIO не кликает по кнопке

Отправлено автор: dmimaz 19 июня 2019 - 05:57 в Selenium - Functional Testing

В общем, получилось проще - написать на selenium-webdriver..... но вопрос всё еще открыт.... )

const expect = require('chai').expect;
const webdriver = require('selenium-webdriver');
const driver = new webdriver.Builder().forBrowser('chrome').build();
const Key = require('selenium-webdriver');
const By = webdriver.By;

describe('Desktop Login', () => {
    it('Retail', () => {
        driver.get('https://gepur.com').then(async () => {
            await driver.manage().window().maximize();    
            await driver.findElement(By.className('h-account'))
            .then(el => el.click())
            .then(() => driver.findElement(By.id('loginform-email')))
            .then(el => el.sendKeys('login'))
            .then(() => driver.findElement(By.id('loginform-password')))
            .then(el => el.sendKeys('password'))
            .then(() => driver.findElement(By.css('button.btn-basik.btn-sm.btn-black')))
            .then(el => el.click());
            
            await driver.sleep(500);
            let siteUrl = await driver.getCurrentUrl();
            expect(siteUrl).to.equal('https://gepur.com/');
            await driver.quit();
        });        
    });
});



#172572 WebdrioverIO не кликает по кнопке

Отправлено автор: dmimaz 12 июня 2019 - 08:50 в Selenium - Functional Testing

Привет. не могу кликнуть по кнопке. Помогите пожалуйста. 

Дано тест:

const assert = require('assert');
 
describe('Desktop login', () => {
    it('Retail login', async () => {
        await browser.setWindowSize(1024, 768);
        await browser.url('https://gepur.com');
        const loginButton = await $('a.h-account');
        await loginButton.click();
        const email = await $('id=loginform-email');
        email.setValue('login');
        const password = await $('id=loginform-password');
        password.setValue('password');
        browser.debug();
        const submitButton = await $('=Войти');
        await submitButton.click();
        browser.pause(3000);
        let url1 = await driver.getUrl()
        browser.pause(3000);
        await assert.equal(url1, 'https://gepur.com/');
        //await loginButton.click();
        //const url = browser.getUrl();
        //await assert.equal(url, 'https://gepur.com/account/show/main');
    });
});

После await submitButton.click(); редиректа на гланую не происходит. кнопка рабочая, руками проверял...... Помогите понять причину пожалуйста )))