Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Автоматизация десктопа (MS Office) javascript-ом

desktop
javascript
Теги: #<Tag:0x00007f7b63e2e358> #<Tag:0x00007f7b63e2e1f0>

(Anastasiya Mazheika) #1

Привет всем :slight_smile:
Возник вопрос… кто сталкивался с тестированием десктопа с помощью js?
Нам нужно тестить окошки Electron-а, которые открываются из экселя. С первой частью проблем нет, а вот как кликать внутри десктопа js-ом - загадка.

С виндовыми элементами немного умеет работать AutoIt скрипт, но он совсем не видит элементы внутри офиса. Работа с экселем обязательна…


(Maksim Zhvirblia) #2

(Anastasiya Mazheika) #3

Интересует именно js фреймворк, а это под .net…


(Yury) #4

TestComplete как раз недавно внедрил поддержку JavaScript


(Oleksandr Khotemskyi) #5

А какой конкретно JS фреймворк вы уже используете?

Да вообщем любые фреймворки (WebdriverJS, ProtractorJS, WebdriverIO …) в теории подойдут. Вам нужно просто передать дополнительные параметры в капабилити. Вот пример для WebdriverIO.

(test)[https://github.com/electron/electron/blob/master/docs/tutorial/using-selenium-and-webdriver.md#3-connect-to-chrome-driver[quote=“xotabu4, post:5, topic:17830, full:true”]
А какой конкретно JS фреймворк вы уже используете?

Да вообщем любые фреймворки (WebdriverJS, ProtractorJS, WebdriverIO …) в теории подойдут. Вам нужно просто передать дополнительные параметры в капабилити. Вот пример для WebdriverIO.


(Anastasiya Mazheika) #6

TestComplete прекрасен, но есть одно но - он платный :frowning:


(Anastasiya Mazheika) #7

Пока никакой, просто инвестигейтим, возможна ли такая автоматизация. На данный момент у нас десктопная автоматизация с вызовом Chromium окошек на c# + TestStack.White + Selenium, а тут окна меняются на Electron, и хочется их тестить на нём же, но работа с десктопом всё равно должна остаться, т.к. в десктопе заимплеменчено много логики.

Вопрос именно к js фреймворкам, которые умеют кликать по десктопным элементам, как тот же White или UIAutomation дллка.

Пока что есть идея использовать биндинг либу https://www.npmjs.com/package/edge, и в js-е вызывать c# методы для работы с этим несчастным десктопом, но было бы круто найти что-то готовое, что умеет работать с ним напрямую.

Вот такая ситуация. Спрашивала уже в нескольких сообществах, но все только ахают да охают :slight_smile:


(Дмитрий Золотухин) #8

Не особо разбираюсь в этом вопросе, но возможно такое решение подойдет: NW.js позволяет работать с нативными контролами.


(Anastasiya Mazheika) #9

Спасибо за ответ :slight_smile:
Но мы придумали немножкое другое, юзаем биндинг либу, которая позволяет вызывать c# код (а у нас его уже много написано) из js-а.