Взаимодействовать с приложением на базе Windows (GUI) через Java-код?

#java #selenium #awtrobot

#java #selenium #awtrobot

Вопрос:

Предыстория:

Мы работали над тестированием на основе автоматизации в нашем приложении. И мы используем Selenium для тестирования веб-приложений.

Вопрос:

Теперь у нас есть требование «при нажатии на кнопку» она открывается «.PuTTY.exe «.

Чтобы завершить наше сквозное тестирование, мы должны ввести имя пользователя и пароль в открывшемся окне. И убедитесь, что мы можем подключиться к хосту.

Есть ли способ, которым мы можем взаимодействовать с другим приложением (отличным от браузера)?

Комментарии:

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

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

3. @HovercraftFullOfEels Как я уже упоминал, при нажатии на кнопку на веб-странице откроется putty.exe через процесс p = Runtime.getRuntime().exec(«c:\putty.exe «); Теперь с помощью кода я хочу ввести имя пользователя / пароль в открывшемся окне putty. Дайте мне знать, если вы понимаете мою проблему.

4. Если вы автоматизируете свой тест, вы не будете вводить имя пользователя / пароль самостоятельно, здесь the.earth.li /~sgtatham/putty /0.58 /htmldoc / … вы можете видеть, что вы можете добавить некоторые параметры для запуска соединения (но не уверен, как вы будете проверять, все ли в порядке)

5. x(‘//div/div/div/h3/text()’).forEach(функция(el){console.log(el)})

Ответ №1:

Используйте AutoIt для работы с Windows на базе настольных компьютеров с использованием Java и Selenium.

Также смотрите страницу документации AutoIt.

Ответ №2:

AutoIt звучит как хорошее решение.

Он может взаимодействовать с Windows forms непосредственно из вашего кода. Вам придется загрузить его собственный автономный исполняемый файл и добавить ссылки на него в свой проект. Как только все будет настроено, вам нужно будет отобразить элементы, с которыми вы хотите взаимодействовать в вашем приложении (исполняемый файл AutoIt может помочь вам в этом), и вы сможете закодировать желаемые взаимодействия.

В этом руководстве описано практически все, что вам понадобится.

Ответ №3:

Вы можете использовать класс учетных данных Java для ввода имени пользователя и пароля во всплывающем окне Windows. Чтобы нажать на кнопку, вы можете использовать класс Java robot.

Комментарии:

1. Можете ли вы добавить некоторые ссылки на упомянутые классы Java? (Поскольку я не думаю, что вы пока не можете использовать ссылки, возможно, некоторые однозначные поисковые запросы Google и / или некоторые домены, где они есть, и т.д.)

Ответ №4:

Этот код может помочь вам:

 public class Runtime{
    public static void main(String args[])throws Exception{
        Runtime.getRuntime().exec("c:\putty.exe username password");
    }
}
  

Если ваше приложение поддерживает переменные аргументы, приведенный выше код применим.

Комментарии:

1. В Putty есть какой-то документ, там есть параметр, который можно установить, вам нужно -l -P -pw … или с использованием загрузки сеанса

2. О чем это varargs вы говорите? У вас есть ссылка? Ответьте, отредактировав свой ответ, не здесь, в комментариях (если это уместно).