Size: a a a

QA — Automation

2021 June 13

DS

Dmytro Slobodianiuk in QA — Automation
кстати, из этого правила есть следствие: если вы не понимаете, почему код вам не кажется хорошим, не начинайте его "улучшение".
источник

AK

Anton Khayrutdinov in QA — Automation
С другой стороны, есть замечательный принцип "не знаешь, что делать - делай по Уставу".
источник

AK

Anton Khayrutdinov in QA — Automation
В этом смысле лучше писать степы и пейджобжекты.
источник

AV

Alexei Vinogradov in QA — Automation
Не знаю такого принципа :)
источник

SM

Sewa Makhinya in QA — Automation
Это из другой отрасли
источник

AN

Alex Nemoy in QA — Automation
Привет
использую selenide
в основном потоке работаю с браузером
во втором крутятся проверки всплывающих окон
при попытке доступа к элементам браузера пишет что в текущем потоке не инициализирован браузер и надо сделать open
подскажите как синхронизировать потоки
спасибо
источник

R

Roman Mhoian in QA — Automation
Приветствую, а что значит в основном потоке работаете с браузером а втором работаете со всплывающими окнами? Не совсем понятно что Вы делаете. Селенид это по сути веб драйвер который управляет браузером, в этом же браузере могут всплывать попапы - это один поток, как Вы их делите на два потока?
источник

AN

Alex Nemoy in QA — Automation
в основном потоке вызвал Open
в другом потоке пытаюсь обратиться к элементу - но ругается - пишет что нет браузера в данном потоке
я так понимаю мне надо вызывать метод браузера в его потоке - не могу понять как переключить вызвать функцию в потоке браузера
источник

R

Roman Mhoian in QA — Automation
Вы скорее всего не понимаете как работает вебдрайвер, на сайте селенида есть пример как стартануть проект. Для начала разберите для себя что такое веб драйвер, что он делает, как идёт общение между браузером и драйвером, тогда Вам станет понятнее что делать
источник

AN

Alex Nemoy in QA — Automation
public main(){
   open("http://google.com")
   new Thread(this::work).start();
 }
 void work(){
   $x("//div[@id='test']").click
   }

вотп ростой пример  - обращение к элементу вызывает crossthread
источник

R

Roman Mhoian in QA — Automation
А зачем Вы делаете new Tread()?
источник

AN

Alex Nemoy in QA — Automation
так надо
отдельный поток обрабатывает трафик браузера и при необходимости работает с браузером
источник

R

Roman Mhoian in QA — Automation
Чёт Вы накрутили)
источник

R

Roman Mhoian in QA — Automation
Где Вы такой пример то взяли
источник

R

Roman Mhoian in QA — Automation
?
источник

AN

Alex Nemoy in QA — Automation
такова суровая необходимость
источник

R

Roman Mhoian in QA — Automation
Вы там вообще ничего не делаете кроме того что открываете браузер и создаёте отдельный поток
источник

R

Roman Mhoian in QA — Automation
Это дичь
источник

AN

Alex Nemoy in QA — Automation
бро - я же не буду код весь класть - показал выжумку для понимания вопроса
источник

IC

Ilya L Che in QA — Automation
Не уверен, что это получится. Selenide же использует ThreadLocal.
источник