web-dev-qa-db-ja.com

Pytest-テストは実行されませんでした

私は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秒でテストは実行されませんでした

誰かが私がこの簡単なテストを実行するのを手伝ってもらえますか?

11
Rafael C.

pytestテスト規則 によると、テスト検出メカニズムによって自動的に取得されるように、クラスはTestで始まる必要があります。代わりにTestRegisterNewInstructorと呼んでください。

または、unittest.TestCaseをサブクラス化します。

import unittest

class RegisterNewInstructor(unittest.TestCase):
    # ...

また、.pyテストスクリプト自体は、ファイル名がtest_で始まる必要があることに注意してください。

18
alecxe

setUPとtearDownの上に@classmethodを追加してみてください。

1
Chien Huang

クラス自体を実行しましたか?
このコードでは、実行するクラスまたは定義を呼び出していることを示していません。
たとえば、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()
0
Tenzin