Pytest - 没有测试

时间:2015-12-18 20:22:22

标签: python automated-tests 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()

显示的信息是:没有测试在0.84秒内运行

有人可以帮助我进行这个简单的测试吗?

3 个答案:

答案 0 :(得分:15)

根据pytest test conventions,您的类应以Test开头,以便由测试发现机制自动获取。改为称呼TestRegisterNewInstructor

或者,继承unittest.TestCase

import unittest

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

另请注意,.py测试脚本本身必须以其文件名中的test_开头。

答案 1 :(得分:0)

你自己执行了这个课吗?我在这段代码中没有看到您显示您要调用要运行的类或定义。
例如,在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()

答案 2 :(得分:0)

尝试在setUP和tearDown顶部添加@classmethod。