2017-11-30 16 views
0

제 작업에서는 테스트 클래스의 값을 conftest 파일로 반환해야합니다. 가능합니까? 그렇다면 어떻게해야합니까?테스트 클래스의 변수를 conftest로 반환합니다.

테스트 케이스 파일에서 'element_2'변수를 반환해야한다고 가정합니다. 가능하면 도움을 받으십시오.

입니다 이건 내 테스트 케이스 파일입니다

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() 

내 conftest 파일 .. :

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 홈페이지의 예입니다 그 옵션은 그 페이지의 왼쪽 상단에있는 "about"옵션의 요소 인 변수 'element_2'를 반환해야합니다.

+0

스크립트를 실행하는 동안 오류 메시지가 있습니까? –

+0

위 코드가 실행 중입니다. 코드의 주석 부분을 수행해야합니다. – Sachhya

+0

변수 "element_2"를 내 conftest 파일로 반환해야합니다. conftest 파일에 "element_2.text"를 출력하고 싶습니다. 가능합니까? – Sachhya

답변

0

사용하여 다음과 같은 CSS 선택기 :

element_2 = self.webdriver.find_element_by_css_selector("a[href*='about']") 

는 희망이 당신 도움이!

+0

Ratimet 응답에 감사드립니다. 위의 코드는 테스트 케이스에서 conftest 파일로 값을 반환하는 데 필요한 샘플입니다. 내 Locator는 또한 내 작업을 conftest.py에서 yield_2 후에이 element_2 값을 사용하는 것입니다. – Sachhya