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

lapa

Регистрация: 18 июн 2014
Offline Активность: 20 фев 2020 07:23
*****

Мои сообщения

В теме: REST Assured and Bearer token

12 сентября 2019 - 12:42

 

можно использовать методы из RestAssured вместо того чтобы делать "руками"

 

например боди составлять, и из ответа конкретное поле брать а не перебирать все значения подряд

 

Вот она вся суть русскоязычных форумов. Пишешь что вчера начал что то изучать, что то сделал, хочешь сделать по-другому, но не нашел как. в ответ получаешь: "это нужно делать по-другому". Спасибо, это очень помогло. как я сразу не догадался 

 

поддреживаю :) вам нужно что то типа такого Response response = request.post("http://*********/api/token"); String token = response.getBody().jsonpath().get("token").toString()


так же можно использовать спецификации. то есть прописать restassuredspec в которые добавить ваш токен и в следующиз запросах не писать его

 


В теме: WebdrioverIO не кликает по кнопке

19 июня 2019 - 08:02

 

В общем, получилось проще - написать на 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();
        });        
    });
});

во втором примере вы используете другой локатор потому и сработало. ну и вы используете устаревший подход. сейчас все используют async/await


В теме: WebdrioverIO не кликает по кнопке

12 июня 2019 - 11:05

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

Дано тест:

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(); редиректа на гланую не происходит. кнопка рабочая, руками проверял...... Помогите понять причину пожалуйста )))

селектор не правильный =Войти. Думаю тут ничего не находит

 

можете попробовать что нить вроде const submitButton = await $('[name="login-button"]')


В теме: Как найти элемент, есть только value

15 марта 2019 - 11:21

Не совсем пойму теперь как мне по нему кликнуть ... такая конструкция получается  

WebElement selectOrganization = driver.findElement(By.id("organization"));
        selectOrganization.getAttribute("EE830A6D-71DC-441E-99E5-E5FC9E0828D1");

А .click не проходит

имхо вы не совсем правильно понимаете.

если хотите кликнуть тогда будет что то вроде selectOrganization.click()

а вот если хотите узнать значение value тогда getAttribute


В теме: Protractor. Click if exists

27 февраля 2019 - 13:11

protractor.promise.all([
         element(by.cssContainingText('.grid-cols-3', 'Client')).isPresent(),
         element(by.cssContainingText('.grid-cols-3', 'Awaiting')).isPresent(),
    ]).then(function (arr) {
      if (arr.indexOf(true) >= 0) {
             element(by.css('#FinApplication')).click();
        }
    });

ожидаем сразу все промисы, а потом смотрим, если какой-то true, то кликаем

 

5 минут гугления. ну и что что промисы всегда не пустой список, пользуйтесь списком

с точки зрения архитектуры теста, это конечно не айс. ветвлений быть не должно.

 

не читаем но отвечаем, причём с упрёками. ничего нового под луной