2016-11-02 3 views
0

Ich bin neu in Python und testen. Ich muss Automatisierungstests durchführen. Ich verwende den folgenden Code, um meine WebApplication zu testen. Ich bin in der Lage, Excel zu verwenden, um Eingabedaten zu lesen und Testausgaben als Bestanden oder Nicht bestanden zu schreiben, indem ich Programmierlogiken benutze, ohne Assert zu verwenden.Erfassen der Ausgabe von Selenium und Python

Wenn ich Assert verwende, bekomme ich in der Konsole ausgegeben, aber ich bin nicht in der Lage, es zu erfassen, und so kann ich es nicht excel drücken.

-Code Ich verwende ist

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' 

Ausgabe in Konsole

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 

Kann mir jemand helfen, diese Ausgabe in einer Variable zu erfassen, so dass ich sie in Excel in organisierten Weise schieben. Kann sein, wenn Daten in verschiedenen Variablen oder in einer Liste gespeichert werden können.

testdoc.xls

Datei ----------- Linie ------ Fehler

assert.py --- 10 ------ Houstan Sie Fehler

+0

Haben Sie mit der Logging-Bibliothek in Betracht gezogen? – Eduard

Antwort

0

das traceback Modul ist für die Formatierung und Verarbeitung von Fehlerinformationen nützlich. zum Beispiel

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 

doc ist voll mit Beispielen

+0

Danke, es hat funktioniert –

0

Verwenden Sie die Protokollierungsbibliothek.

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) 
Verwandte Themen