Size: a a a

2020 January 27

OK

Oleksandr Khotemskyi in JS for testing
Vladislava Soboleva
Всем привет. Подскажите, пожалуйста. Не могу понять в чем проблема.  Если запускаю тест на webdriver то он проходит нормально, но если запускаю на selenoid, не срабатывает конструкция
 await browser.actions().mouseMove($('//[@id="' + thisElement+ '"]'), {x:-10, y:-5}).click().perform();
Различные виды конструкции применяла.   Может не взаимосвязано, но при выводе в консоли await browser.manage().window().getSize() у меня в вебдравере { height: 1080, width: 1920, x: 0, y: 0 } в selenoid { height: 1080, width: 1920 }

{x:--450, y:-5} тоже делала
а какая версия chromedriver локально и на селеноиде
источник

A

Anton in JS for testing
на селеноиде браузер стартует не в 0,0 координатах, и я фиксил положение через selenide параметр browserPosition чтобы на видео или в VNC было видно весь, я ставил на 2,2 координаты
источник

A

Anton in JS for testing
Но также в селеноиде можно задать настройки чтобы был доступен windows manager чтобы можно было сделать тупо maximize()
источник

VS

Vladislava Soboleva in JS for testing
Oleksandr Khotemskyi
а какая версия chromedriver локально и на селеноиде
77
источник

VS

Vladislava Soboleva in JS for testing
Anton
Но также в селеноиде можно задать настройки чтобы был доступен windows manager чтобы можно было сделать тупо maximize()
Как сделать?
источник

A

Anton in JS for testing
Хотя вроде можно и так уже https://github.com/aerokube/selenoid/issues/626
источник

m

mkots in JS for testing
Дмитрий Медведев
Что такого особенного в этом новом playwright?
Кроссбраузерность
источник

A

Anton in JS for testing
@yaxsee получилось чо нить? =)
источник

VS

Vladislava Soboleva in JS for testing
Нет
источник

VS

Vladislava Soboleva in JS for testing
Думаю определить позицию мыши  и смотреть куда она щелкает
источник

IM

Ilya Murashka in JS for testing
А для протрактора так же будет? а то он не отрабатывает как ожидается
источник

IM

Ilya Murashka in JS for testing
async function isClicked(element: WebdriverIOAsync.Element): Promise<boolean> {
 try {
   await element.click();
   return true;
 } catch(error) {
   // tackle issue with overlap element
   await element.scrollIntoView();
   throw error;
 }
}
и потом
const createButton = await $('.mat-confirm.btn');
await browser.waitUntil(async () => await isClicked(createButton))
источник

IM

Ilya Murashka in JS for testing
 static async isClicked(element: ElementFinder): Promise<boolean> {
       try {
           await element.click();
           console.log('Жму');
           return true;
       } catch (error) {
           console.log('Не получилось');
           // tackle issue with overlap element
           await element.scrollIntoView();
           throw error;
       }
   }

   static async waitUntilIsClicked(element: ElementFinder) {
       browser.wait(async () => this.isClicked(element));
   }'

Делаю так
источник

OK

Oleksandr Khotemskyi in JS for testing
Ilya Murashka
 static async isClicked(element: ElementFinder): Promise<boolean> {
       try {
           await element.click();
           console.log('Жму');
           return true;
       } catch (error) {
           console.log('Не получилось');
           // tackle issue with overlap element
           await element.scrollIntoView();
           throw error;
       }
   }

   static async waitUntilIsClicked(element: ElementFinder) {
       browser.wait(async () => this.isClicked(element));
   }'

Делаю так
не совсем понял зачем browser.wait…
источник

IM

Ilya Murashka in JS for testing
браузер унтил нету, я думал по реализации тоже самое должно быть
источник

OK

Oleksandr Khotemskyi in JS for testing
Ilya Murashka
 static async isClicked(element: ElementFinder): Promise<boolean> {
       try {
           await element.click();
           console.log('Жму');
           return true;
       } catch (error) {
           console.log('Не получилось');
           // tackle issue with overlap element
           await element.scrollIntoView();
           throw error;
       }
   }

   static async waitUntilIsClicked(element: ElementFinder) {
       browser.wait(async () => this.isClicked(element));
   }'

Делаю так
раз -
try {
                           await element.scrollIntoView();
           await element.click();
           console.log('Жму');
           return true;
       } catch (error) {
           console.log('Не получилось');
           // tackle issue with overlap element
                           return false
       }




два -

static async waitUntilIsClicked(element: ElementFinder) {
       
await browser.wait(async () => this.isClicked(element));
   }'
источник

OK

Oleksandr Khotemskyi in JS for testing
Oleksandr Khotemskyi
раз -
try {
                           await element.scrollIntoView();
           await element.click();
           console.log('Жму');
           return true;
       } catch (error) {
           console.log('Не получилось');
           // tackle issue with overlap element
                           return false
       }




два -

static async waitUntilIsClicked(element: ElementFinder) {
       
await browser.wait(async () => this.isClicked(element));
   }'
блин сам свое сообщение затер
источник

OK

Oleksandr Khotemskyi in JS for testing
три -
await element.scrollIntoView();

такого метода у protractor нет
источник

IM

Ilya Murashka in JS for testing
точн, просто не ругался
источник

IM

Ilya Murashka in JS for testing
выглядит буд то я прошу других делать свою работу)) сорри
источник