Appium 求助 appium+python 脚本加了异常捕获后,HTMLTestRunner 生成报告全部显示 pass (没有找到元素也 pass)

小小测试 · 2017年07月04日 · 最后由 小小测试 回复于 2017年07月04日 · 2605 次阅读

在 TestpersonalPage 模块执行用例的代码块加上 try...except 来捕获异常,运行代码后,生成的 html 报告全部显示 pass(正常应该找不到元素),但在 LoginPage 模块没有加 try...except 捕获异常,生成的报告显示正常
求大神们看看这是什么情况,为什么加了捕获异常后,生成的报告就全部显示 pass 了

代码如下

入口:

* coding:utf-8 *

from testcase.TestpersonalPage import *
from testcase.Testlogin import *

if name == 'main':
suite = unittest.TestSuite()
suite.addTest(TestpersonalPage("testpersonal"))
suite.addTest(LoginPage("testlogin"))
# unittest.TextTestRunner().run(suite)
fp = open(u"page_demo_Report.html", 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"测试报告", description=u"测试用例结果")
runner.run(suite)
fp.close()

TestpersonalPage 模块:

class TestpersonalPage(unittest.TestCase):

def setUp(self):
print("正在建立初始化连接......")
try:
self.driver = webdriver.Remote(webdriver_remote, sys_pras)
sleep(5)
except Exception as e:
print("建立初始化连接失败!, 报错:", e)
else:
print("建立初始化连接成功.......")

个人中心测试
def testpersonal(self):
pag = PersonalPage(self.driver)
try:
pag.click_personal() # 点击进入个人中心
pag.click_login() # 点击登录按钮
except Exception as e:
print(Exception, ":" , e)

# tearDown 用于测试完成后的清理工作
def tearDown(self):
print(u"启动退出程序")
self.driver.quit()
print("成功退出.......")

LoginPage 模块:

class LoginPage(unittest.TestCase):
# 注:setUp 和 tearDown 在每个测试方法运行时都会被调用
# setUP 用于初始化工作
def setUp(self):
print("正在建立初始化连接......")
try:
self.driver = webdriver.Remote(webdriver_remote, sys_pras)
sleep(5)
except Exception as e:
print("建立初始化连接失败!, 报错:", e)
else:
print("建立初始化连接成功.......")

登录测试
def testlogin(self):
u'测试登录用户'
pag = PersonalPage(self.driver)
pag.click_personal() # 点击进入个人中心
pag.click_login() # 点击登录按钮
pag.input_username() # 输入用户名
pag.input_password() # 输入密码
pag.click_login2() # 点击登录账号

# tearDown 用于测试完成后的清理工作
def tearDown(self):
print(u"启动退出程序")
self.driver.quit()
print("成功退出.......")

共收到 5 条回复 时间 点赞

注意下格式。 感觉捕获异常后异常操作被正确处理了,你可以在捕获异常后加入自定义的异常来让报告呈现 False 或 error。

Zhhh 回复

这个该怎么实现呢,详细说说吧

Zhhh 回复

对这个 HTMLTestRunner 生成报告不熟悉,不知道该怎么把失败或错误的信息显示到报告中对应的 fail、Error 中去,大神说下详细实现步骤吧

except 里边只有 print 就算到了异常里边也只是 print 没有错, 加一个 raise 把异常抛出来

沙子 回复

😀 谢谢大神,终于解决问题了,非常感谢

小小测试 关闭了讨论 09月04日 08:55
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册