Robot Framework File Upload: ошибка при получении элемента недоступна - PullRequest
0 голосов
/ 07 марта 2019

Я знаю, что на это уже отвечали ранее.Но я не мог найти ответ, как мне получить локатор для всплывающего окна.Я все еще получаю сообщение об ошибке при загрузке файла из локальной системы в графический интерфейс.

  1. В моем графическом интерфейсе я нажал кнопку со стрелкой загрузки, дав xpath
  2. Теперь всплывающее окно загрузки файла, и мне нужно дать имя файла в поле ввода с моего рабочего стола илилюбой локальный путь.- ***** Я не уверен, как дать локатор для ввода *****
  3. , который я использовал. Выберите Имя файла: Имя файла: C: / Users / xxxx / Desktop / Generic_1902_User_Input_Spreadsheetenter description для описания изображенияздесь.xlsx

Я получаю, что элемент не доступен из-за ошибки клавиатуры.Может кто-нибудь плз загрузить это видео - Посмотрите видеоинструкцию по загрузке файлов Robot Framework.( Загрузка файла Robot Framework )

Даже я пробовал с AutoIT.Я мог бы создать файл au3, а также исполняемый файл.Однако я не могу вызвать .use этот файл au3 / exe в моей среде робота с использованием скрипта Python.

Может кто-нибудь, пожалуйста, руководство.

1 Ответ

0 голосов
/ 10 марта 2019

Не нажимайте на кнопку, которая вызывает окно выбора файла, вместо этого найдите элемент <input>, проверив страницу, и используйте его локатор непосредственно с ключевым словом Choose File.

Например, в стекеПереполнение, если вы хотите отредактировать свой вопрос и загрузить изображение, следует использовать элемент <input type="text" class="s-input" id="image-upload-url-input-55038357">.Найдите похожий элемент на тестируемой странице.

<div class="grid--cell grid fl-grow1 ai-baseline sm:fd-column sm:ai-stretch d-none js-url-input-container">
  <label class="s-label mr8 sm:mr0 sm:mb4" for="image-upload-url-input-55038357">Paste image or link:</label>
  <div class="fl1 ps-relative">
    <input type="text" class="s-input" id="image-upload-url-input-55038357">
  </div>
  <button class="s-btn sm:as-start js-cancel-url">Cancel</button>
</div>

Чтобы получить пример кода, следующий фрагмент перейдет к этому вопросу в качестве пользователя квеста и загрузит Capture.PNG (без сохранения).Обратите внимание на локатор //*[contains(@id, 'image-upload-file-input')] для предыдущего элемента ввода.

*** Settings ***
Library           SeleniumLibrary

*** Variables ***
${EDIT QUESTION ELEMENT}    improve this question
${UPLOAD IMAGE BUTTON}    //*[contains(@id, 'wmd-image-button')]

*** Test Cases ***
File Upload Test
    Open Browser    /8683497/robot-framework-file-upload-oshibka-pri-poluchenii-elementa-nedostupna    Chrome
    Maximize Browser Window
    Click Link       ${EDIT QUESTION ELEMENT}
    Click Element    ${UPLOAD IMAGE BUTTON}
    Choose File     //*[contains(@id, 'image-upload-file-input')]    D:\\Capture.PNG
    Click Button    Add picture 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...