如何在python中顺序运行多个selenium web驱动程序测试用例方法

时间:2016-03-09 07:24:11

标签: python python-2.7 selenium selenium-webdriver sequential

我正在使用selenium web驱动程序为python编写测试用例。 测试用例有多种方法,如:

class Test(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver1 = webdriver.Firefox()
        cls.driver1.maximize_window()

    def test_1(self):
        .....
        .....
    def test_2(self):
        ....
        ....
    @classmethod
    def tearDownClass(cls):
        cls.driver1.quit()

当我尝试从pycharm或终端运行该文件时,它会随机执行这些方法。 我想要一个顺序执行,所以test_1()应该在test_2()之前运行。 请帮我.. 提前致谢。

2 个答案:

答案 0 :(得分:1)

在单个浏览器实例中运行多个测试的语法是正确的;虽然它不以随机顺序运行测试,但它确实以数字或字母顺序运行测试。

例如: class Test(unittest.TestCase):

@classmethod
def setUpClass(cls):
    .....
def test_1(self): #or def test_a
    print 'test1'

def test_3(self): #or def test_c
    print 'test2'

def test_2(self): #or def test_b
    print 'test3'
@classmethod
def tearDownClass(cls):
    .......

测试执行顺序:升序,即test_1(test_a)将首先执行>接下来是test_2(test_b)和更高版本test_3(test_c)....不管' def test_ (self)'( - 字母或数字)都放在代码中。

O / P: TEST_1 好的\ n test_2 ..... TEST3 好的\ n test_3 ..... TEST2 确定

答案 1 :(得分:-1)

使用黄瓜和Selenium,它有特征文件,其中可以给出步骤定义,所有步骤都像迷你测试一样,按照它们写入的顺序执行。它还具有非常外行可读的写入步骤格式, Gherkin 格式。

应该像魅力一样工作。

这是一个例子

Feature: User Placing an order via different methods

    Scenario: User tries to place an order for test item
        Given User is on Home Page
        When User Searches for test item
        Then Open the search item page
        And User adds the item to cart
        And User proceeds to book

Here's the link

优先考虑您的测试方法,这个优先级在方法定义的上方给出,至少在Java中,当您将Selenium与TestNG一起使用时就是这种情况。不确定它是如何在Python中完成的。如果我们优先考虑这些定义,那么它们肯定会被执行,并牢记方法的优先级。