2016-11-02 9 views
0

私はPythonとテストの初心者です。私は自動化テストを行う必要があります。私は私のwebApplicationをテストするために次のコードを使用しています。私は、入力データを読み込むためにExcelを使用することができ、Assertを使用せずにプログラミングロジックを使用してPassまたはFailとしてテスト出力を書き込むことができます。SeleniumとPythonの出力をキャプチャする

私がassertを使用しているとき、私はコンソールで出力を得ていますが、私はそれをキャプチャすることができないので、Excelでプッシュすることはできません。私が使用しています

コードは、誰かが私は組織的でExcelでそれらをプッシュすることができるように、いくつかの変数に、この出力をキャプチャするために私を助けることができる

xample$ python assert.py 
Traceback (most recent call last): 
File "assert.py", line 10, in <module> 
    assert 2 + 2 == 5, error 
AssertionError: Houstan you got some error 

コンソール

from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions 
from selenium.common.exceptions import TimeoutException 
from selenium.webdriver.common.keys import Keys 
import unittest 
import os 

error = "Houstan you got some error" 
assert 2 + 2 == 5, 'error' 

出力されます。データが異なる変数またはリストに格納される可能性があります。

testdoc.xls

ファイル-----------ライン------エラー

assert.py --- 10 ------ Houstanますエラーが発生しました

+0

でいっぱいですか? – Eduard

答えて

0

tracebackモジュールは、エラー情報の整形と処理に役立ちます。例えば

import unittest 
import os 
import traceback 

try: 
    error = "Houstan you got some error" 
    assert 2 + 2 == 5, 'error' 
except Exception: 
    var = traceback.format_exc() 
    # now your traceback is in the variable var 
    print ('not failed', var) 
    # process the var as you want, then re raise the error 
    raise 

ドキュメントは、ロギングライブラリを使用して考えがあります例

+0

ありがとう、それは働いた –

0

ロギングライブラリの使用を検討してください。

import logging 

logging.basicConfig(filename='foo.log', 
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', 
        level=logging.INFO) 
try: 
    2 + 2 == 5 
except Exception as e: 
    logging.error('error msg', exc_info=True) 
関連する問題