将测试类中的变量返回到conftest

时间:2017-11-30 13:16:28

标签: python selenium testing pytest fixtures

在我的任务中,我需要从测试类返回一个值到conftest文件。 可能吗?如果是,那该怎么办?

假设我需要从测试用例文件返回'element_2'变量。 如果可能,请帮忙。

这是我的conftest文件..

import pytest
import time
from selenium import webdriver


@pytest.yield_fixture(scope="function")
def oneTimeSetUp(request):

    print "__CONFTEST ONE TIME SETUP BEGIN__"
    driver=webdriver.Chrome()
    driver.maximize_window()    
    yield driver

    print "__CONFTEST YIELD BEGIN__"

    #print "ELEMENT_2 TEXT IS------>",element_2.text
    time.sleep(5)
    driver.close()

这是我的测试用例文件:

import pytest


@pytest.mark.usefixtures("oneTimeSetUp")

class TestHomePage():

    @pytest.fixture(autouse=True)
    def setup(self,oneTimeSetUp):
        self.webdriver = oneTimeSetUp            

    def test_run(self):

        print "____ TEST START ____"

    self.webdriver.get("https://www.google.co.in/")
    element_1 = self.webdriver.find_element_by_css_selector('input[name="btnI"]')
    print "CLICK ON 'I AM FEELING LUCKY'"   
    element_1.click()
    element_2 = self.webdriver.find_element_by_css_selector('a[href="/doodles/about"]') 
    print "ELEMENT_2 TEXT IS------>",element_2.text
    print "CLICK ON 'ABOUT' "
    #element_2.click()
    #return element_2   

        print "____ TEST END ____"

以上代码是Google主页的示例,然后点击“我感觉很幸运”这个选项我需要返回变量'element_2',这是“about”选项的元素,它位于左上角那页。

0 个答案:

没有答案