Search code examples
pythonpython-3.xunit-testingselenium-webdriverpytest

How to run a pytest method multiple times?


I am trying to run a pytest method multiple times using pytest-repeat but i am getting a warning and its running only once

from page.to_run_login import RegisterLogin
from utilites.testStatus import TestStatus
import unittest
import pytest



@pytest.mark.usefixture("oneTimeSetUp","setUp")
class RegisterTest(unittest.TestCase):

@pytest.fixture(autouse=True)
def classSetup(self,oneTimeSetUp):
    self.rg = RegisterLogin(self.driver)
    self.ts = TestStatus(self.driver)

@pytest.mark.run(order=1)
def test_registerLink(self):
    self.rg.register()
    self.rg.select_state_name()
    self.rg.select_city_name()
    self.rg.select_ready_wait()
    self.rg.select_ready_pay()
    self.rg.select_submit()

In terminal i am executing using this command py.test -s -v test/to_test_login.py --count 2


Solution

  •  @pytest.mark.run(order=1)
     def test_registerLink(self):
        for i in range(100):
            self.rg.register()
            self.rg.select_state_name()
            self.rg.select_city_name()
            self.rg.select_ready_wait()
            self.rg.select_ready_pay()
            self.rg.select_submit()
            self.rg.driver.back()
            self.rg.driver.refresh()
    

    I was able to solve it by doing this