2017-11-30 8 views
0

私の仕事では、私のテストクラスからconftestファイルに値を返す必要があります。 それは可能ですか?はいの場合はどうすればいいですか?テストクラスの変数を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ホームページの一例である、その後に「私はラッキー感じている」をクリックしてくださいそのオプションは、そのページの左上隅にある "about"オプションの要素である変数 'element_2'を返す必要があります。

+0

スクリプトの実行中にエラーメッセージが表示されますか? –

+0

上記のコードが実行されています。私はコードのコメント部分を行う必要があります – Sachhya

+0

私のコンフトファイルに変数 "element_2"を返す必要があります。 conftestファイルに "element_2.text"を表示したいとします。 それは可能ですか? – Sachhya

答えて

0

には、以下のCSSセレクタを使用します。

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

は、それはあなたのお役に立てば幸い!

+0

応答Ratimet、ありがとう、しかし、上記のコードはちょうど私がテストケースからconftestファイルに値を返す必要があるサンプルです。私のロケータはまた、収穫後にconftest.pyでこのelement_2の値を使用することです。 – Sachhya

関連する問題