Я пишу пользовательскую библиотеку Page Object для Robot Framework, например, такую: robotframework-pageobjectlibrary
Пользовательские ключевые слова моей страницы (объекты страницы) находятся в отдельной папке, и когда я запускаюмои Robot Framework
тесты, я даю их путь с параметром --pythonpath
следующим образом: robot --pythonpath ../resources/pageobjects lib-test/test.robot
.
Моя структура каталогов выглядит следующим образом:
CustomPageObjectLibrary
|--__init__.py
|--keywords.py
|--locatormap.py
|--pageobject.py
Resources
|--pageobjects
|__CountryPage.py
Tests
|--lib-test
|__test.robot
Содержимое CustomPageObjectLibrary в настоящее время такое же, как в связанном репо, за исключением того, что я использую AppiumLibrary
вместо SeleniumLibrary
.
CountryPage.py
from CustomPageObjectLibrary import PageObject
class CountryPage(PageObject):
PAGE_TITLE = "Country"
_locators = {
'germany': 'countryGermany',
}
# def __init__(self):
# super(PageObject, self).__init__()
def open_app(self):
self.appiumlib.open_application('http://localhost:4723/wd/hub', platformName='Android', deviceName='...', appPackage='...', appActivity='.MainActivity', uiautomator2ServerInstallTimeout=50000)
def choose_country(self, country):
# Convert country to lovercase
country = str(country).lower()
self.appiumlib.wait_until_element_is_visible (locator = self.locator.germany) self.appiumlib.click_element (locator = self.locator.germany)
Мой тест:
*** Settings ***
Variables ../../resources/pageobjects/config.py
Library CustomPageObjectLibrary
Library AppiumLibrary
*** Test Cases ***
Navigate To Not Connected Screen
Open App
Choose country germany
Я запускаю это с помощью следующей команды: robot --pythonpath ../resources/pageobjects lib-test/test.robot
Ошибка, которую я получаю: No keyword with name 'Open App' found.
Что может бытьпроблема с этим?