Как загрузить локальный файл с Mac через Выбор файла - PullRequest
0 голосов
/ 13 мая 2019

Я хочу загрузить локальный файл с моего Mac.Вот частичный код из Robot Framework:

*** Settings ***
Library           Collections
Library           Selenium2Library

*** Variables ***
${file_path}    ${CURDIR}/file/IMG_0738.jpg  

*** Test Cases ***
Case
    Run Keywords    PreconditionLogin
    ...    AND    MyKeyword

*** Keywords ***
PreconditionLogin
    ${chrome_options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    Call Method    ${chrome_options}    add_argument    --disable-extensions
    #Call Method    ${chrome_options}    add_argument    --headless
    Call Method    ${chrome_options}    add_argument    --disable-gpu
    Call Method    ${chrome_options}    add_argument    --no-sandbox
    Create Webdriver    Chrome    chrome_options=${chrome_options}
    Set Window Size    1024    768
    Go To    10.11.14.7
    Input Text    //*[@id='UserID']    aaa
    Input Text    //*[@id='Password']    123
    Press Key    //*[@id='Password']    \\13
MyKeyword
    Wait Until Element Is Visible   //*[@class='UploadInput-btn btn'][contains(text(),'UploadFile')]  1s
    Choose File  //*[@class='UploadInput-btn btn'][contains(text(),'UploadFile')]    ${file_path}

После выполнения RF журнал ошибок показывает:

ElementNotInteractableException: Сообщение: элемент не взаимодействует

Я пытался

click element    //*[@class='UploadInput-btn btn'][contains(text(),'UploadFile')]

, он работает и выводит окно выбора файла.

Пожалуйста, обратитесь к снимку экрана для страницы.

1 Ответ

1 голос
/ 13 мая 2019

Локатор, который вы указываете Choose file, должен указывать на элемент ввода, а не кнопку. Вы не должны нажимать кнопку, так как она откроет диалоговое окно, с которым ваш тест не может взаимодействовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...