我是python和测试新手。我必须做自动化测试。我使用以下代码来测试我的webApplication。我可以使用excel读取输入数据,并使用编程逻辑将测试输出写为Pass或Fail,而不使用Assert。
当我使用assert时,我在控制台中获得输出,但是我无法捕获它,因此我无法将其推送到excel中。
我正在使用的代码是
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'
在控制台中输出
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
有人可以帮助我在某个变量中捕获此输出,以便我可以以有条理的方式将它们推送到excel中。可能是数据可以存储在不同的变量或列表中。
testdoc.xls
文件-----------行------错误
断言 - 10 --- ----侯斯坦你有一些错误
答案 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)
答案 1 :(得分:0)
https://tomcat.apache.org/connectors-doc/reference/workers.html模块对于格式化和处理错误信息很有用。例如
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充满了示例