Нет способа переключения на iframe в мобильном Интернете с помощью AppiumLibrary в рамках робота

#robotframework

Вопрос:

Мне нужно переключиться на iframe в мобильном Интернете, но в AppiumLibrary нет метода для этого. Если я добавлю SeleniumLibrary, то некоторые методы, присутствующие в конфликтах AppiumLibrary и SeleniumLibrary, например :

 *** Settings ***
Library  AppiumLibrary
Library  SeleniumLibrary
Resource  ../Tests/basetest.robot

*** Test Cases ***
Open_App

    Open iOS Mobile Web App
    go to url   ${URL}
    wait until element is visible //iframe  timeout=10
    select frame    //iframe[1]
    wait until element is visible   body>button   timeout=10
    click element   body>button
 

Но я получаю следующую ошибку :

 fanilsuratwala$ robot Tests/Launch.robot
==============================================================================
Launch                                                                        
==============================================================================
Open_App                                                              | FAIL |
No keyword with name 'wait until element is visible //iframe' found. Did you mean:
    AppiumLibrary.Wait Until Element Is Visible
    SeleniumLibrary.Wait Until Element Is Visible
------------------------------------------------------------------------------
Launch                                                                | FAIL |
1 test, 0 passed, 1 failed
==============================================================================
Output:  /Users/fanilsuratwala/PycharmProjects/Automation/output.xml
Log:     /Users/fanilsuratwala/PycharmProjects/Automation/log.html
Report:  /Users/fanilsuratwala/PycharmProjects/Automation/report.html

 

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

1. У вас опечатка, всего один пробел между «видимым» и «//iframe».

2. Да, теперь я не получаю эту ошибку, но получаю другую ошибку в строке «выбрать кадр», которая говорит : браузер не открыт.. Как поделиться экземпляром драйвера с SeleniumLibrary?. В первых 3 строках тестового примера используется AppiumLibrary.

Ответ №1:

Вы всегда должны использовать имя библиотеки для конфликтующих ключевых слов.

В сообщении об ошибке содержатся рекомендации. Просто выбери SeleniumLibrary.Wait Until Element Is Visible .