Pythonの別のクラスで別のクラスメソッド値を使用するにはどうすればよいですか?

Mojiz Mehdi

メソッドを作成したログインページのページオブジェクトクラスがあります。

from Resources.Locators import Locators
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


class LoginPage:

    def __init__(self, driver):
        self.driver = driver

    def user_login(self, username, password):
        self.driver.find_element(*Locators.username).send_keys(username)
        self.driver.find_element(*Locators.password).send_keys(password)
        self.driver.find_element(*Locators.login_button).click()
        try:
            element = WebDriverWait(self.driver, 60).until(
                EC.presence_of_element_located((Locators.invalid_error)))
            if element:
                error_message = element.text
                return error_message
        except:
            self.driver.find_element(*Locators.otp).send_keys("1234")
            self.driver.find_element(*Locators.otp_verify_button).click()

以下は、error_messageを使用する必要があるテストケースファイルです。

from selenium import webdriver
import unittest
from Pages.Login import LoginPage
from Resources.Test_Data import TestData
from Resources import Test_Data

class TestLogin(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get(TestData.base_url)
        self.driver.maximize_window()
        self.driver.implicitly_wait(5)

    def test_01_login_invalid(self):
        driver = self.driver
        login = LoginPage(driver)
        login.user_login("User123", "Password123")
        print(login.error_message)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()
I receive the error as follow:
print(login.error_message)
AttributeError: 'LoginPage' object has no attribute 'error_message'

上記のファーストクラスのerror_message値を検証に使用したいと思います。どうすればよいですか?

アーネストビドゥイユ

コードでは、error_messageは、user_login関数によって返される単なるローカル変数です。アクセスしたい場合は、自己属性として作成する必要があります。

例:

from Resources.Locators import Locators
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


class LoginPage:

    def __init__(self, driver):
        self.driver = driver
        self.error_message = None

    def user_login(self, username, password):
        self.driver.find_element(*Locators.username).send_keys(username)
        self.driver.find_element(*Locators.password).send_keys(password)
        self.driver.find_element(*Locators.login_button).click()
        try:
            element = WebDriverWait(self.driver, 60).until(
                EC.presence_of_element_located((Locators.invalid_error)))
            if element:
                self.error_message = element.text
                return self.error_message
        except:
            self.driver.find_element(*Locators.otp).send_keys("1234")
            self.driver.find_element(*Locators.otp_verify_button).click()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

あるクラスのオブジェクトを別のクラスのメソッドで使用するにはどうすればよいですか?

分類Dev

別のクラスからメソッドを実行するにはどうすればよいですか?

分類Dev

PHP OOP:同じクラスの別のメソッドでメソッドを使用するにはどうすればよいですか?

分類Dev

別のクラスのクラスのメソッドを使用するにはどうすればよいですか?

分類Dev

別のクラスのパブリックボイド内でクラスメソッドを実行するにはどうすればよいですか?

分類Dev

あるクラスのメソッドを使用して、Javaで別のインスタンスを作成するにはどうすればよいですか?

分類Dev

サブクラスのフィールドとメソッドを、別のクラスを通じてスーパークラスのみを使用するクラスで使用できるようにするにはどうすればよいですか?

分類Dev

別のクラスのメソッドのパラメーターとして変数を使用するにはどうすればよいですか?

分類Dev

同じクラスの別のメソッドでコンストラクターの状態を更新するにはどうすればよいですか?

分類Dev

Androidであるクラスのメソッドを別のクラスに呼び出すにはどうすればよいですか?

分類Dev

Python 2で継承せずに別のクラスのメソッドを再利用するにはどうすればよいですか?

分類Dev

あるクラスのmain()メソッドを別のクラスで呼び出すにはどうすればよいですか?

分類Dev

あるクラスのmain()メソッドを別のクラスで呼び出すにはどうすればよいですか?

分類Dev

クラスでメソッドを作成し、別のクラスで変数を操作するにはどうすればよいですか?

分類Dev

dartの別のクラスから1つのクラスメソッドにアクセスするにはどうすればよいですか?

分類Dev

Pythonで別のクラスからクラスメソッドを呼び出すにはどうすればよいですか?

分類Dev

別のプログラムでクラスメソッドを使用するにはどうすればよいですか?

分類Dev

Javaで別のクラスのsetメソッドを使用するにはどうすればよいですか?

分類Dev

別のクラスのクラスからメソッドにアクセスするにはどうすればよいですか?

分類Dev

Flutterで別のクラスからクラスメソッドにアクセスするにはどうすればよいですか?

分類Dev

mainメソッドから別のクラスで使用する値をどのように取得しますか?

分類Dev

C#別のクラスとスレッドの静的メソッドからtextbox.Textを変更するにはどうすればよいですか?

分類Dev

メソッドを作成して別のクラスで使用するにはどうすればよいですか?

分類Dev

シェフの別のクックブックのライブラリメソッドを使用するにはどうすればよいですか?

分類Dev

Pythonで既存のクラスにメソッドを追加するにはどうすればよいですか?

分類Dev

最初のクラスを初期化せずに、別のクラスからclassesメソッドを呼び出すにはどうすればよいですか?

分類Dev

クラスメソッドで別のクラスインスタンスを呼び出すにはどうすればよいですか?

分類Dev

Pythonで、クラス外の通常の関数でクラスのメソッドを使用するにはどうすればよいですか?

分類Dev

階層の親クラスのメソッドを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    あるクラスのオブジェクトを別のクラスのメソッドで使用するにはどうすればよいですか?

  2. 2

    別のクラスからメソッドを実行するにはどうすればよいですか?

  3. 3

    PHP OOP:同じクラスの別のメソッドでメソッドを使用するにはどうすればよいですか?

  4. 4

    別のクラスのクラスのメソッドを使用するにはどうすればよいですか?

  5. 5

    別のクラスのパブリックボイド内でクラスメソッドを実行するにはどうすればよいですか?

  6. 6

    あるクラスのメソッドを使用して、Javaで別のインスタンスを作成するにはどうすればよいですか?

  7. 7

    サブクラスのフィールドとメソッドを、別のクラスを通じてスーパークラスのみを使用するクラスで使用できるようにするにはどうすればよいですか?

  8. 8

    別のクラスのメソッドのパラメーターとして変数を使用するにはどうすればよいですか?

  9. 9

    同じクラスの別のメソッドでコンストラクターの状態を更新するにはどうすればよいですか?

  10. 10

    Androidであるクラスのメソッドを別のクラスに呼び出すにはどうすればよいですか?

  11. 11

    Python 2で継承せずに別のクラスのメソッドを再利用するにはどうすればよいですか?

  12. 12

    あるクラスのmain()メソッドを別のクラスで呼び出すにはどうすればよいですか?

  13. 13

    あるクラスのmain()メソッドを別のクラスで呼び出すにはどうすればよいですか?

  14. 14

    クラスでメソッドを作成し、別のクラスで変数を操作するにはどうすればよいですか?

  15. 15

    dartの別のクラスから1つのクラスメソッドにアクセスするにはどうすればよいですか?

  16. 16

    Pythonで別のクラスからクラスメソッドを呼び出すにはどうすればよいですか?

  17. 17

    別のプログラムでクラスメソッドを使用するにはどうすればよいですか?

  18. 18

    Javaで別のクラスのsetメソッドを使用するにはどうすればよいですか?

  19. 19

    別のクラスのクラスからメソッドにアクセスするにはどうすればよいですか?

  20. 20

    Flutterで別のクラスからクラスメソッドにアクセスするにはどうすればよいですか?

  21. 21

    mainメソッドから別のクラスで使用する値をどのように取得しますか?

  22. 22

    C#別のクラスとスレッドの静的メソッドからtextbox.Textを変更するにはどうすればよいですか?

  23. 23

    メソッドを作成して別のクラスで使用するにはどうすればよいですか?

  24. 24

    シェフの別のクックブックのライブラリメソッドを使用するにはどうすればよいですか?

  25. 25

    Pythonで既存のクラスにメソッドを追加するにはどうすればよいですか?

  26. 26

    最初のクラスを初期化せずに、別のクラスからclassesメソッドを呼び出すにはどうすればよいですか?

  27. 27

    クラスメソッドで別のクラスインスタンスを呼び出すにはどうすればよいですか?

  28. 28

    Pythonで、クラス外の通常の関数でクラスのメソッドを使用するにはどうすればよいですか?

  29. 29

    階層の親クラスのメソッドを使用するにはどうすればよいですか?

ホットタグ

アーカイブ