Size: a a a

JavaScript testing

2021 November 15

SK

Sergei Kramskoi in JavaScript testing
@aqa_almazov я правильно понимаю, что у тебя написаны какие-то свои функции (this.driverWaitForElement, this.driverGetText, etc) поверх голого Selenium WebDriver?
источник

A

Amazov in JavaScript testing
async driverGetText(el) {
       await this.driver.wait(until.elementLocated(By.css(el)), waitTime, "Unable to locate element - 'driverGetText'");
       return await this.driver.findElement(By.css(el)).getText();
   }


убрал - this.driverWaitForElement
источник

A

Amazov in JavaScript testing
Сейчас это выглядит так. Но оно нинфга не ждет на нужный ассерт
источник

O

Olga in JavaScript testing
ты бы сперва попробовал завести это на обычных функциях, скормить туда просто элемент с локатором, убедишься, что работает, а уж потом сверху навесишь свое и найдешь, где проблема

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

A

Amazov in JavaScript testing
эти методы работают отдельно от этого теста(гет текст и вейтворелемент)
источник

K

Kanstantsin in JavaScript testing
@xotabu4 нет апдейтов по записе воркшопов?
источник

O

Olga in JavaScript testing
методы работают, но они ведь должны еще возвращать то, что этому waitFor для его работы надо
источник

SK

Sergei Kramskoi in JavaScript testing
Мне все больше начинает казаться, что это разговор слепого с глухим, но что уже поделать, раз вписался. Судя по коду, который вы прислали выше - да это свои оберточные методы поверх голого веб-драйвера.

Судя по тому, что я вижу, пакет который вы выбрали для ожидания ("chai-wait-for") не умеет делать так как вы хотите. Он умеет работать следующим образом:

1. Из коробки. Вы ему скармливаете ссылку на объект, который в фоне меняет какая-то функция. Тогда она ждет, когда у нужного объекта поменяется то что нужно. Для того чтобы так работало, надо чтобы у вас был какой-то код, который асинхронно меняет значение проверяемого вами объекта.

2. С подключением различных плагинов (chai-fs, chai-webdriverio-async etc). У вас, голый Selenium WebDriver. А код, который приведен в примере судя по всему использует как раз плагин "chai-webdriverio-async" (await waitFor('#submittedMessage').to.have.text('Your changes have been saved!'). Но даже если бы он и подходил, но в нем передается селектор элемента, а не текст (ваша функция возвращает текст).
источник

SK

Sergei Kramskoi in JavaScript testing
источник
2021 November 16

D

Daria in JavaScript testing
привет!
ui-тесты на codeceptJS, Playwright, запускаем на Teamcity.
есть проблема - браузер с Teamcity запускается на английском, игнорируются параметры хромиума в codecept.conf.js.

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

A

Alexander in JavaScript testing
попробуй так
источник

D

Daria in JavaScript testing
благодарю, попробую
источник

O

Olga in JavaScript testing
Привет, а есть какой-то способ перегнать простое перечисление в строки? В VS Code или через какую-нибудь автозамену или средствами JS?..

У меня список из рутов, которые проверить надо, просто вот так

rest/v2/projects/{id},
rest/v2/portfels/{id},
rest/v2/tasks/{id},
а мне надо чтобы это были строки (

только разве что зафигачить в строку и разбить ее по запятой?
источник

m

mkots in JavaScript testing
^([\w\/{}]+),!?\n
заменить на
"$1",\n
источник

m

mkots in JavaScript testing
в душе я перл разработчик)
источник

A

Alexey in JavaScript testing
Array.prototype.toString()
источник

O

Olga in JavaScript testing
ггг ) ну как-то так и сделала в итоге, только попроще. мне чисто один раз конвертнуть, дальше уже в нормальной джейсонине сохранила
источник

O

Olga in JavaScript testing
спасибо )
источник

NK

Nikolay Kozub in JavaScript testing
Foo = (Id , path) => ${path}${Id}
источник

AP

Alexander Popov in JavaScript testing
Или вим юзер,я там постоянно таким занимаюсь))
источник