Selpy模塊應具有所有常用方法,這些方法將在頁面對像模型中使用在功能UI自動化中。 Selpy還可以擁有快照功能,如果需要,可以將數據從UI保存到文件。反過來,這減少了測試數據維護工作。

將此行添加到您的應用程序的要求。 txt文件:
selpy==<version>
然後執行:
pip3 install -r requirements.txt
或自行安裝:
pip3 install selpy
該模塊旨在替換Selpy-Python框架中的庫方法。這使我們能夠在不同團隊之間共享方法,並完全忽略重複性工作。有關功能UI自動化的頁面對像模型的更多詳細信息,請驗證Selpu Python文檔頁面。
在/selpy/ path內部添加所有新方法,然後在同一路徑中添加__init__.py文件中的類導入類,以便可以使用此模塊通過此模塊導入新添加的類。
要導入此模塊,
import selpy
要在此模塊中導入特定類,
from selpy.driver import Driver
驅動程序文件保留驅動程序執行的所有常見操作。啟動駕駛員,
driver = Driver()
driver將持有Selenium Webdriver對象。
為了配置驅動程序功能,必須在selpy-python中的global_data.yml中指定詳細信息。
此類是在頁面對像模型中聲明硒定位器。您可以按照以下方式聲明定位者
class AmazonHomePageLocator:
# Static locators
amazon_logo = Locator("css selector", "div#nav-logo a[aria-label='Amazon']")
amazon_search_categories = Locator("css selector", "div.nav-search-scope select.nav-search-dropdown")
def __init__(self):
print("Locators for Amazon home page")
# Dynamic locators
@staticmethod
def amazon_search_category_list(string):
return Locator("xpath", "//select[contains(@class,'nav-search-dropdown')]//option[text()='%s']" % string)
要使用定位器方法,我們需要傳遞定位器的類型和實際定位器元素。必須通過以下方式提及定位器的類型,以允許selpy處理定位器。
CSS - 'css selector'
XPATH - 'xpath'
ID - 'id'
NAME - 'name'
LINK TEXT - 'link text'
PARTIAL LINK TEXT - 'partial link text'
TAG NAME - 'tag name'
CLASS NAME - 'class name'
此類是存儲此模塊的運行時間配置。為我們的框架有點備用或重新進行。其他模塊所需的集中運行時間數據正在此處存儲並由其他模塊檢索。
這是存在實際的SNAP功能邏輯的地方。為了將UI數據保存到動態文件中,一個人必須運行測試
snap=1 pytest
但是,只有這不會確保將數據保存到動態文件中。必須以支持SNAP功能的方式腳本腳本其自動化代碼。例如,一個人可以在Tests/amazon.py中查看Selpy-Python框架
在正常模式下運行測試後pytest動態數據將不會被覆蓋,而是將使用動態數據文件宣布UI中存在的數據。
為了使此功能順利運行並以更流暢的方式訪問變量,必須在pytest_configure方法中配置其框架中的以下參數(以便將這些路徑變量設置為啟動Pytest)。
from selpy.store import Store
def pytest_configure(config):
# Configuring the selpy with data path location
Store.global_data_path = os.path.dirname(os.path.abspath(__file__)).replace("/Tests", "") + '/Data/GlobalData/global_data.yml'
Store.static_data_path = os.path.dirname(os.path.abspath(__file__)).replace("/Tests", "") + '/Data/TestData/'
Store.dynamic_data_path = os.path.dirname(os.path.abspath(__file__)).replace("/Tests", "") + '/Data/DynamicData/'
python3 -m pip install --user --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
python3 -m twine upload -u <username> -p <password> --repository-url https://upload.pypi.org/legacy/ dist/* --verbose
確保您已從DIST目錄中刪除了舊文件。
歡迎在https://github.com/nareshnavinash/selpy/上的GitHub上的錯誤報告和拉動請求。該項目旨在是一個安全,熱情的協作空間,預計貢獻者將遵守撰稿人契約的行為準則。
根據GPL-3.0許可證的條款,該寶石可作為開源。
在Teber項目的代碼庫,問題跟踪器,聊天室和郵件列表中進行互動的每個人都將遵循《行為守則》。