0

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

agreementPage = AgreementPage()
creatUserPage = agreementPae.accept()
createUserPage.typeEmail("your email address")
createUserPage.submit()

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

def test_create_user():
    userService.CreateUser("email address")

    #do assertion

def test_edit_user():
    authenticationService.login("user name", "password")
    userService.CreateUser("email addrss")

    #do editing created user

def test_delete_user():
    authenticationService.login("user name", "password")
    userService.CreateUser("email addrss")

    #do deleting created user

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

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

4

1 に答える 1