問題タブ [pageobjects]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
340 参照

webdriver - ページ オブジェクト - メソッドの抽象化レベル

私はインターネットで少し検索しましたが、stackoverflow に投稿してそこに意見があるかどうかを確認するだけで、何らかの洞察が得られるかもしれないと考えました。

ページオブジェクトを設定するこれら2つの方法のどちらが好ましいかについて、誰かが意見を持っているかどうか疑問に思っています:

...と...

もともと、ログインフローが何らかの理由で変更された場合 (これはログインでは起こりそうにありませんが、他のタイプのフォームでこれが起こることを理論化できます)、login() メソッドとこれを更新できるため、2 番目の方法の方がよいと考えていました。変更すると、ログインが必要なすべてのテストに影響します。

ただし、submit() の前にエラー状態やその他のことを確認したい場合、2 番目の解決策は十分に柔軟ではありません。

どんな洞察も大歓迎です。

0 投票する
3 に答える
24638 参照

python - ImportError: base という名前のモジュールがありません

最初のログイン テストに PageObject パターンを実装しようとしています。実行中に次のエラーが表示されます。

pythonpath は次のとおりです。

Pythonpath: PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7/"

PYTHONPATH のエクスポート

私の最初のテストの 1 つである限り、多くのコードがコピー アンド ペーストされました。何か問題があるのか​​もしれませんが、取得できません。この点に関する提案があれば、非常に満足します。

また、以下は、いわゆる PageObject 実装の構造と内容です。

  1. うい
    • ベース
      • __初期化__.py
      • basePage.py
      • configs.py
      • wrapper.py
    • ページ
      • __初期化__.py
      • loginPage.py
    • テスト
      • __初期化__.py
      • test_login.py
    • __初期化__.py

ui/__ init __ .py :

ui/base/__ init __ .py :

ui/base/basePage.py :

ui/base/configs.py :

ui/base/wrapper.py :

ui/pages/__ init __ .py :

ui/pages/loginPage.py :

ui/tests/__ init __ .py :

ui/tests/test_login.py :

0 投票する
1 に答える
1005 参照

selenium-webdriver - ページオブジェクトを使用してスクロールできますか?

Page Object を使用してスクロールを実行できますか??

実際には、要素に基づいて Web ページを (上下に) スクロールする必要があります。Page Object を使用して実行するにはどうすればよいですか。

Selenium Web ドライブを使用してブラウザーを起動し、Page Object を使用して Web ページを自動化しています。

助言がありますか???

0 投票する
1 に答える
987 参照

selenium - ビジネス機能のために Selenium ページ オブジェクトを再利用する方法

Seleniumページオブジェクトパターンを使用して、各ページのモデルを構築します。ただし、1 つのビジネス機能を実装するには、数ページが必要になります。たとえば、1 人のユーザーを作成すると、以下のように AgreementPage と CreateUserPage が含まれます。

私たちのテストでは、多くのテスト ケースで前提条件として 1 人のユーザーを作成する必要があります。これらのコードを再利用するために、1 つの新しいサービス層を作成しました。コードを UserService.CreateUser() に移動します。次に、テストスクリプトは次のようになります

ほとんどの機能には 2 ページ以上が含まれるため、ページ オブジェクトはサービス層に入ります。テスト スクリプト層では、サービスをテストしているように見えますが、サービス名はフレンドリーではなく、ドメイン言語と話すのが好きではないと思います。

これは、自動化テストを行うための非常に一般的なアプローチだと思いますよね? どのようにサービス層に名前を付けますか、またはページオブジェクトの再利用をどのように処理しますか?