Size: a a a

JavaScript testing

2020 December 09

NK

ID:0 in JavaScript testing
=== Advertisement ===

Levi9 is looking for Middle/Senior AQA (JS) engineer. Check the details below and apply!

Customer: An international Dutch company delivering an omnichannel banking services solutions.

Project structure: Microservices (Java) and Widgets (JS), that are joined in different combinations on the single portal (CMS), depending on individual customer needs.

Technology stack: JavaScript, Protractor, Angular10, Docker, Git, Jenkins.

Team: classic full-stack scrum team.

In the team: direct influence on technical decisions, possibility to choose approaches for the automation.
This is not about boring support of the existing test code - there is always place to automate some more types of tests and improve the existing frameworks

Want to know more?

Detailed description: https://bit.ly/2VVbyI4
Don't hesitate to apply or ask questions: @julia_rec
источник

HA

Hidden Account in JavaScript testing
Привет.

А как бы так не импортить в каждый spec все эти pageObjects поштучно, которые могут в нем юзаться?
https://github.com/webdriverio/webdriverio/blob/master/examples/pageobject/specs/form.spec.js

Тесты e2e и в рамках файла могут юзаться разные pageObject, которые не экстендят друг друга, но экстендят главный класс (page).

Че-нить сделать на уровне инициализации конфига?
Не импортить вообще и как-то там через global че-то решить?
Ну или возможно импортить лишь главный класс, а все что экстендит его было доступно через chaining.
Какие есть варианты?

P.S. Не надо ожидать от меня знания JS на уровне программиста с большим стажем, поэтому даже если ваше решение какое-то простое и очевидное, то подскажите и его, плз. Я про него реально могу быть не в курсе.
источник

VG

Vitalii Grygoruk in JavaScript testing
Hidden Account
Привет.

А как бы так не импортить в каждый spec все эти pageObjects поштучно, которые могут в нем юзаться?
https://github.com/webdriverio/webdriverio/blob/master/examples/pageobject/specs/form.spec.js

Тесты e2e и в рамках файла могут юзаться разные pageObject, которые не экстендят друг друга, но экстендят главный класс (page).

Че-нить сделать на уровне инициализации конфига?
Не импортить вообще и как-то там через global че-то решить?
Ну или возможно импортить лишь главный класс, а все что экстендит его было доступно через chaining.
Какие есть варианты?

P.S. Не надо ожидать от меня знания JS на уровне программиста с большим стажем, поэтому даже если ваше решение какое-то простое и очевидное, то подскажите и его, плз. Я про него реально могу быть не в курсе.
если так прямо сильно хочется не импортить совсем - то можешь их в global запихнуть… но я б так не делал
что мешает тебе сделать 1 общий модуль (например если у тебя PO в
/pages
- то
pages/index.js
в котором ты просто делаешь экспорт всех инстансов PO.
А потом в тестах просто
const { page1, page2, page2 } = require(‘pages’);
источник

HA

Hidden Account in JavaScript testing
Vitalii Grygoruk
если так прямо сильно хочется не импортить совсем - то можешь их в global запихнуть… но я б так не делал
что мешает тебе сделать 1 общий модуль (например если у тебя PO в
/pages
- то
pages/index.js
в котором ты просто делаешь экспорт всех инстансов PO.
А потом в тестах просто
const { page1, page2, page2 } = require(‘pages’);
const { page1, page2, page2 } = require(‘pages’);

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

А чем плохо запихнуть в global?
источник

OP

Oleksandr Pelykh in JavaScript testing
всем привет
вопрос по организции тестов
скажем, у меня есть несколько разных приложений (app1, app2, app3), на каждое приложение нужны API, UI тесты
так сложилось, что тесты живут в одном отдельном проекте

получается, есть 2 способа структурировать тесты по папкам (на скрине)
знает ли кто какие-то очевидные преимущества какого-либо из этих вариантов? (или может у вас есть получше)
источник

OP

Oleksandr Pelykh in JavaScript testing
источник

AD

Andrei Dzeichyk in JavaScript testing
Hidden Account
Привет.

А как бы так не импортить в каждый spec все эти pageObjects поштучно, которые могут в нем юзаться?
https://github.com/webdriverio/webdriverio/blob/master/examples/pageobject/specs/form.spec.js

Тесты e2e и в рамках файла могут юзаться разные pageObject, которые не экстендят друг друга, но экстендят главный класс (page).

Че-нить сделать на уровне инициализации конфига?
Не импортить вообще и как-то там через global че-то решить?
Ну или возможно импортить лишь главный класс, а все что экстендит его было доступно через chaining.
Какие есть варианты?

P.S. Не надо ожидать от меня знания JS на уровне программиста с большим стажем, поэтому даже если ваше решение какое-то простое и очевидное, то подскажите и его, плз. Я про него реально могу быть не в курсе.
можно сделать один класс App, применить композицию (те создать экземпляры классов и положить в поля класса) и импортить только один этот класс, и создавть его экземпляр в каждом тесте
app.homePage.logo.click()
app.accountPage.name.isDisplayed()
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Hidden Account
Привет.

А как бы так не импортить в каждый spec все эти pageObjects поштучно, которые могут в нем юзаться?
https://github.com/webdriverio/webdriverio/blob/master/examples/pageobject/specs/form.spec.js

Тесты e2e и в рамках файла могут юзаться разные pageObject, которые не экстендят друг друга, но экстендят главный класс (page).

Че-нить сделать на уровне инициализации конфига?
Не импортить вообще и как-то там через global че-то решить?
Ну или возможно импортить лишь главный класс, а все что экстендит его было доступно через chaining.
Какие есть варианты?

P.S. Не надо ожидать от меня знания JS на уровне программиста с большим стажем, поэтому даже если ваше решение какое-то простое и очевидное, то подскажите и его, плз. Я про него реально могу быть не в курсе.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Oleksandr Pelykh
всем привет
вопрос по организции тестов
скажем, у меня есть несколько разных приложений (app1, app2, app3), на каждое приложение нужны API, UI тесты
так сложилось, что тесты живут в одном отдельном проекте

получается, есть 2 способа структурировать тесты по папкам (на скрине)
знает ли кто какие-то очевидные преимущества какого-либо из этих вариантов? (или может у вас есть получше)
особо без разницы. Насколько код между аппками планируется переиспользовать?
источник

HA

Hidden Account in JavaScript testing
А можно еще линк (если есть), как вы далее это юзали уже в spec? Как оно выглядит/юзается?
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Hidden Account
А можно еще линк (если есть), как вы далее это юзали уже в spec? Как оно выглядит/юзается?
можно, посмотри этот репозиторий
источник

OP

Oleksandr Pelykh in JavaScript testing
Oleksandr Khotemskyi
особо без разницы. Насколько код между аппками планируется переиспользовать?
очень сильно
иначе хранил бы тесты вместе с апками
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Oleksandr Pelykh
очень сильно
иначе хранил бы тесты вместе с апками
так может тогда сделать один проект api и один проект для ui, и в них уже формировать тест сьюты которые нужно ранить для каждой апки?
источник

OK

Oleksandr Khotemskyi in JavaScript testing
чтобы не плодить проекты
источник

HA

Hidden Account in JavaScript testing
Oleksandr Khotemskyi
можно, посмотри этот репозиторий
👌 нашел, смотрю, спасибо.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Hidden Account
👌 нашел, смотрю, спасибо.
это проект из этого курса -

https://www.youtube.com/playlist?list=PLEUkJQfJdxsTOTwx2S6whsi98k2L5XtzY
источник

OP

Oleksandr Pelykh in JavaScript testing
Oleksandr Khotemskyi
так может тогда сделать один проект api и один проект для ui, и в них уже формировать тест сьюты которые нужно ранить для каждой апки?
Оу
Я имел ввиду переиспользование кода для тестирования апок
Сами апки независимы ко коду друг от друга
источник

VG

Vitalii Grygoruk in JavaScript testing
Oleksandr Pelykh
Оу
Я имел ввиду переиспользование кода для тестирования апок
Сами апки независимы ко коду друг от друга
тесты должны жить в репозитории с проектом самого приложения
источник

KK

K K in JavaScript testing
Vitalii Grygoruk
тесты должны жить в репозитории с проектом самого приложения
можно shared service libraries делать в некоторых случаях, а тесты хранить в репах приложений
источник

NK

ID:0 in JavaScript testing
​​Вышел Node.js 15.4

- Добавилась поддержка AbortController
- Поддержка сигналов в EventTarget
- Поддержка цепочки вызовов в res.setHeader в http модуле
- В worker был добавлен экспериментальный BroadcastChannel

#jsrelease #javascript #nodejs #backend #webdev
источник