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'
このクラスは、このモジュールの実行時間構成を保存することです。私たちのフレームワークのために、一種のmemcachedまたはredis。他のモジュールが必要とする集中走行時間データは、ここに保存され、他のモジュールによって取得されます。
これは、実際のスナップ機能ロジックが存在する場所です。 UIデータを動的ファイルに保存するには、テストを実行する必要があります。
snap=1 pytest
ただし、これだけでは、データが動的ファイルに保存されていることを保証しません。スナップ機能がサポートされるように自動化コードをスクリプト化する必要があります。たとえば、 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で大歓迎です。このプロジェクトは、コラボレーションのための安全で居心地の良いスペースであることを目的としており、貢献者は貢献者の契約行動規範を遵守することが期待されています。
GEMは、GPL-3.0ライセンスの条件の下でオープンソースとして利用できます。
Teberプロジェクトのコードベース、問題トラッカー、チャットルーム、メーリングリストで対話する全員が、行動規範に従うことが期待されています。