私はpytestとSeleniumを使用しています。テストスクリプトを実行しようとすると、次のようになります。
import pytest
from Selenium import webdriver
from pages import *
from locators import *
from Selenium.webdriver.common.by import By
import time
class RegisterNewInstructor:
def setup_class(cls):
cls.driver = webdriver.Firefox()
cls.driver.get("http://mytest.com")
def test_01_clickBecomeTopButtom(self):
page = HomePage(self.driver)
page.click_become_top_button()
self.assertTrue(page.check_instructor_form_page_loaded())
def teardown_class(cls):
cls.driver.close()
表示されるメッセージは次のとおりです。.84秒でテストは実行されませんでした
誰かが私がこの簡単なテストを実行するのを手伝ってもらえますか?
pytest
テスト規則 によると、テスト検出メカニズムによって自動的に取得されるように、クラスはTest
で始まる必要があります。代わりにTestRegisterNewInstructor
と呼んでください。
または、unittest.TestCase
をサブクラス化します。
import unittest
class RegisterNewInstructor(unittest.TestCase):
# ...
また、.pyテストスクリプト自体は、ファイル名がtest_
で始まる必要があることに注意してください。
setUPとtearDownの上に@classmethodを追加してみてください。
クラス自体を実行しましたか?
このコードでは、実行するクラスまたは定義を呼び出していることを示していません。
たとえば、pythonでは、次のようなクラスまたは定義を実行します。
class Hello():
# __init__ is a definition runs itself.
def __init__(self):
print('Hello there')
# Call another definition.
self.andBye()
# This definition should be calles in order to be executed.
def andBye(self):
print('Goodbye')
# Run class
Hello()