最近使用selenium + python + unittest 框架执行UI自动化脚本,在debug过程发现,断言的结果失败了,最后的测试报告返回的结果却是「通过」
代码如下:
def test_create(self):
log = MyLog(xxxxxx)
page = Page(self.driver, self.url)
page.open()
log.info('--------页面打开成功--------')
try:
page.btn_create_click()
log.info("--------点击创建按钮成功--------")
sleep(5)
except Exception as e:
log.error('创建按钮点击失败', e)
try:
name = page.btn_pop_sel1()
Assertions.Assertions().assert_in_text(name.text, 'webuitest')
except Exception as e:
log.error('新建失败')
debug 过程发现,assert 执行失败,下一步运行到except模块了。具体的原因是断言在try 内容,捕捉到异常,跳转到Exception模块内了。
可调整代码执行顺序如下,执行结果返回正常
def test_create(self):
log = MyLog(xxxxxx)
page = Page(self.driver, self.url)
page.open()
log.info('--------页面打开成功--------')
try:
page.btn_create_click()
log.info("--------点击创建按钮成功--------")
sleep(5)
except Exception as e:
log.error('创建按钮点击失败', e)
try:
name = page.btn_pop_sel1()
except Exception as e:
log.error('新建失败')
Assertions.Assertions().assert_in_text(name.text, 'webuitest')