Size: a a a

2019 October 17

AP

Alexander Popov in JS for testing
Тіньовий
зайти у айфрейм то я зайшов, а от як вийти? пробував селенідівську обгортку browser.switchToDefaultFrame();  та селеніумівський метод this.driver.switchTo().defaultContent(). Не працює…. Тест клікає кудись, але ніяка дія не відбувається
дефолт должен работать ( собственно те два варианта что ты показал одинаковые )
источник

AP

Alexander Popov in JS for testing
проверь еще раз, мб ифреймы вложенные, или кликаешь без ретрая
источник

Т

Тіньовий in JS for testing
Проблема таки була в мому бажному методі
источник

S

Sergey Pletnev in JS for testing
Всем привет, может кто подскажет, как правильно написать конфиг - capabilities  webdriverio для запуска тестов параллельно на двух нодах грида (эмуляторы андроида)? Заранее спасибо
источник

NS

Nick Silver in JS for testing
Доброго вечера ребят, спасибо за предыдущие советы. Кто работает с Jest ?  Кейс следующий : у меня есть один describe {} (тест сьют) в котором несколько it{} ( собственно мои тесты ) и мне нужно ,что бы каждый  it {}  запускался в новой инкогнито вкладке браузера не закрывая его.  Работаю я с puppeteer и не нашел пока способа захендлить это по человечески.  Возможно можно через  beforeAll / afterAll  закрывая/открывая браузер ? Буду признателен совету
источник

AP

Alexander Popov in JS for testing
разве бывают инкогнито вкладки в одном окне?
источник

AP

Alexander Popov in JS for testing
рестартуй весь браузер
источник

NS

Nick Silver in JS for testing
Ну у меня получалось так делать
пример :  
`it ({first test code})
it {
const context = await browser.createNewIncognitoContext();
const page = context.newPage(); // далее работаем  с этой пейджой
}
`
Написал возможно с ошибками  так как по памяти.  В данном случае будет все делаться в одной вкладке, так как мы не закрываем пейджу.  Возникают следующие проблемы :
1. Нужно рефакторить общие хелперы ,так как мы будем работать с новым инстансом пейджи по-сути.
2. Заново аутентификацию делать и передавать креды в тесте, что не удобно.
3. Ну и вообще кривовато это все выглядит.

Что я надеялся сделать : в моем кейсе - в одном сьюте несколько тестов. В каждом тесте нужна авторизация юзера.  Я думал, что есть способ  почистить кэш , например в beforeAll прописывать await page.setCatcheEnabled(false) , увы это не помогло. Других методов я не нашел и сработал только способ выше. Возможно у кого-то есть идеи и Вы сталкивались с таким.

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

M

MnmlSniper in JS for testing
Nick Silver
Ну у меня получалось так делать
пример :  
`it ({first test code})
it {
const context = await browser.createNewIncognitoContext();
const page = context.newPage(); // далее работаем  с этой пейджой
}
`
Написал возможно с ошибками  так как по памяти.  В данном случае будет все делаться в одной вкладке, так как мы не закрываем пейджу.  Возникают следующие проблемы :
1. Нужно рефакторить общие хелперы ,так как мы будем работать с новым инстансом пейджи по-сути.
2. Заново аутентификацию делать и передавать креды в тесте, что не удобно.
3. Ну и вообще кривовато это все выглядит.

Что я надеялся сделать : в моем кейсе - в одном сьюте несколько тестов. В каждом тесте нужна авторизация юзера.  Я думал, что есть способ  почистить кэш , например в beforeAll прописывать await page.setCatcheEnabled(false) , увы это не помогло. Других методов я не нашел и сработал только способ выше. Возможно у кого-то есть идеи и Вы сталкивались с таким.

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

NS

Nick Silver in JS for testing
MnmlSniper
Можно сторадж подменять на чистый.
Это интересно, можно ли где-то больше инфы по этому способу?
источник

OI

Oleksii Ihnatiuk in JS for testing
А зачем такие сложности? Закрыл браузер, открыл браузер...
источник

AP

Alexander Popov in JS for testing
MnmlSniper
Можно сторадж подменять на чистый.
это не все что сохраняется в браузере
источник

M

MnmlSniper in JS for testing
Alexander Popov
это не все что сохраняется в браузере
мне для обхода авторизации на протобафе хватает
источник

M

MnmlSniper in JS for testing
Nick Silver
Ну у меня получалось так делать
пример :  
`it ({first test code})
it {
const context = await browser.createNewIncognitoContext();
const page = context.newPage(); // далее работаем  с этой пейджой
}
`
Написал возможно с ошибками  так как по памяти.  В данном случае будет все делаться в одной вкладке, так как мы не закрываем пейджу.  Возникают следующие проблемы :
1. Нужно рефакторить общие хелперы ,так как мы будем работать с новым инстансом пейджи по-сути.
2. Заново аутентификацию делать и передавать креды в тесте, что не удобно.
3. Ну и вообще кривовато это все выглядит.

Что я надеялся сделать : в моем кейсе - в одном сьюте несколько тестов. В каждом тесте нужна авторизация юзера.  Я думал, что есть способ  почистить кэш , например в beforeAll прописывать await page.setCatcheEnabled(false) , увы это не помогло. Других методов я не нашел и сработал только способ выше. Возможно у кого-то есть идеи и Вы сталкивались с таким.

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

S

Sergey in JS for testing
Sergey Pletnev
Всем привет, может кто подскажет, как правильно написать конфиг - capabilities  webdriverio для запуска тестов параллельно на двух нодах грида (эмуляторы андроида)? Заранее спасибо
Присоединяюсь к вопросу. Помогите плиз
источник

NS

Nick Silver in JS for testing
MnmlSniper
Так хороший вопрос задали. Почему нельзя просто открыть закрыть браузер?
В beforeEach afterEach ?
источник

M

MnmlSniper in JS for testing
Nick Silver
В beforeEach afterEach ?
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable fp/no-let */
let browser
let page

beforeEachbeforeEach(async () => {
 // eslint-disable-next-line fp/no-mutation
 browser = await puppeteer.launch({
   headless: true,
   args: ['--lang=ru-RU,ru', '--disable-web-security', '--use-fake-ui-for-media-stream'],
 })
 // eslint-disable-next-line fp/no-mutation
 page = await browser.newPage()
 await page.setViewport({ width: 1440, height: 1200 })
 await page.goto('http://localhost:3000', { waitUntil: 'networkidle2' })
})

afterEachafterEach(async () => {
 await page.close()
 await browser.close()
})
источник

NS

Nick Silver in JS for testing
MnmlSniper
// eslint-disable-next-line eslint-comments/disable-enable-pair
/* eslint-disable fp/no-let */
let browser
let page

beforeEachbeforeEach(async () => {
 // eslint-disable-next-line fp/no-mutation
 browser = await puppeteer.launch({
   headless: true,
   args: ['--lang=ru-RU,ru', '--disable-web-security', '--use-fake-ui-for-media-stream'],
 })
 // eslint-disable-next-line fp/no-mutation
 page = await browser.newPage()
 await page.setViewport({ width: 1440, height: 1200 })
 await page.goto('http://localhost:3000', { waitUntil: 'networkidle2' })
})

afterEachafterEach(async () => {
 await page.close()
 await browser.close()
})
Черт ,ведь и правда . Завтра поиграюсь с этим. Спасибо большое! 👍
источник
2019 October 18

Ri

Rustam is not a function in JS for testing
Alexander Popov
разве бывают инкогнито вкладки в одном окне?
Не бывают.)
источник

Ri

Rustam is not a function in JS for testing
Dmitry
Может UnhendledPromiseRejection ему мешает получить валидный результат? Все проверил?
Чёт в консоли про промисы ничего.
источник