Selenium-ide, загрузка файла не работает для реагирующего приложения - PullRequest
1 голос
/ 30 апреля 2019

Запись контрольного примера с использованием selenium ide для приложения реакции, но не удается загрузить файл из selenium-ide.Пакет React-dropzone используется для загрузки файла.

Пробовал с командой "type" и "send keys", но не работал.

selenium-ide: 3.6.0 chrome: 74.0.3729.108

Попробовал с firefox, но получил сообщение об ошибке "В настоящее время выгрузка файлов поддерживается только в Chrome"

Command: type
Target: css=input[type=file]
Value: c:\fakepath\test.png
Error: {"code":-32000,"message":"Not allowed"}


Command: send keys
Target: css=input[type=file]
Value: c:\fakepath\test.png
Error: Element is not currently interactable and may not be manipulatedElement is not currently interactable and may not be manipulated

selenium и возможность загрузить файл и пройти тестовый набор.

1 Ответ

0 голосов
/ 30 апреля 2019

Попробовал с firefox, но получил сообщение об ошибке "Загрузка файлов в настоящее время поддерживается только в Chrome"

Эта проблема не связана с React или SIDE. Все браузерные расширения, которые поддерживают загрузку файлов из расширения (например, iMacros, SIDE, ...), делают это через API отладки Chrome. Firefox не имеет такого расширения API => автоматическая загрузка файлов невозможна.

Решение: Используйте Kantu Selenium IDE . Он использует внешние, собственные вспомогательные приложения (называемые « XModules ») для преодоления этих ограничений и, таким образом, поддерживает автоматизацию загрузки файлов в Firefox .

Тестовый макрос для Chrome :

{
  "Name": "1upload",
  "CreationDate": "2019-5-2",
  "Commands": [
    {
      "Command": "open",
      "Target": "https://cgi-lib.berkeley.edu/ex/fup.html",
      "Value": ""
    },
    {
      "Command": "XClick",
      "Target": "name=upfile",
      "Value": ""
    },
    {
      "Command": "XType",
      "Target": "C:\\1tmp\\1test.txt",
      "Value": ""
    },
    {
      "Command": "XType",
      "Target": "${KEY_ENTER}",
      "Value": ""
    },
    {
      "Command": "clickAndWait",
      "Target": "xpath=/html/body/form/input[3]",
      "Value": ""
    }
  ]
}

Тестовый макрос для Firefox

Здесь XType | ${KEY_ENTER} не работает (я не уверен, почему). Поэтому я заменил его нажатием x на кнопку «Открыть», используя автоматизация рабочего стола ). Используемое изображение: enter image description here

{
  "Name": "1upload-firefox",
  "CreationDate": "2019-5-2",
  "Commands": [
    {
      "Command": "open",
      "Target": "https://cgi-lib.berkeley.edu/ex/fup.html",
      "Value": ""
    },
    {
      "Command": "XClick",
      "Target": "name=upfile",
      "Value": ""
    },
    {
      "Command": "XType",
      "Target": "C:\\1tmp\\1test.txt",
      "Value": ""
    },
    {
      "Command": "comment",
      "Target": "XType // ${KEY_ENTER}",
      "Value": ""
    },
    {
      "Command": "XDesktopAutomation",
      "Target": "true",
      "Value": ""
    },
    {
      "Command": "XClick",
      "Target": "1test_dpi_96.png@0.6",
      "Value": ""
    },
    {
      "Command": "clickAndWait",
      "Target": "xpath=/html/body/form/input[3]",
      "Value": ""
    }
  ]
}
...