程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(3)

python web selenium关于try except结合traceback使用(欢迎指正!)

发布于2020-03-19 09:34     阅读(1032)     评论(0)     点赞(15)     收藏(0)


traceback导入import traceback
测试用例写法如下:

class test_CameraT(unittest.TestCase):
    action=TimeSet()
    def setUp(self):
    #     测试固件的setUp()的代码,主要是测试的前提准备工作
        warnings.simplefilter('ignore',ResourceWarning)
        # self.imgs=[]
        # self.driver=eval(UserData.Driver)
    def tearDown(self):
    #     测试结束后的操作,这里基本上都是关闭浏览器
        driver=self.action.dr
        driver.quit()
        time.sleep(1)
        ProcessName=UserData.Driver
        if ("Firefox" in ProcessName):
            print(os.popen('taskkill /f /im firefox.exe').read())
        elif("Chrome" in ProcessName):
            print(os.popen('taskkill /f /im chrome.exe').read())
        else:
            print(os.popen('taskkill /f /im iexplore.exe').read())
# #测试单独修改时区
para_timezone=['GMT-12:00','GMT+12:00','GMT+03:00']
@parameterized.expand(para_timezone)
def test_027_TimeSetOnlyTimeZone(self,TimeZone):
    # try:
        result="self.action.SetTimeZoon("+'"'+TimeZone+'"'+")"
        print( result)
        eval(result)
    # except:
    #     result=[False,"test run error"]
    # finally:
        if result==True:
            self.assertTrue(result)
		else:
			self.assertTrue(result[0],result[1])

如图注释这里,如果按如图处理程序如果跑错,则直接处理了(而且如果按照我上述的处理指挥出来成功和失败,error的全部被处理为错误的了),后续看python报告里面的traceback根本看不出来跑出了什么问题,同时我希望跑错误和跑失败的时候均进行截图处理,采用的driver库里面的get_screenshot_as_base64()截图
所以修改上述代码为:

def test_027_TimeSetOnlyTimeZone(self,TimeZone):
        try:
            result="self.action.SetTimeZoon("+'"'+TimeZone+'"'+")"
            print( result)
            eval(result)
        except EXCEPTION:
        #     result=[False,"test run error"]
        	traceback.print_exc()
        	self.action.dr.get_screenshot_as_base64(self)
        	raise EXCEPTION
         finally:
            if result==True:
                self.assertTrue(result)
 			else:
 				self.assertTrue(result[0],result[1])
 				if result[0]==FALSE:
 					self.action.dr.get_screenshot_as_base64(self)

****其中raise EXCEPTION可能不用加,因为下面的result这里同样会触发error,如果测试用例出错的话,但是可能打印会屡有不同,后续我实践之后再来添加结果。

上述是我目前的处理方法,希望有其他方法的大神指正!

原文链接:https://blog.csdn.net/weixin_35962838/article/details/104944903



所属网站分类: 技术文章 > 博客

作者:一切都会好起来over

链接:https://www.pythonheidong.com/blog/article/268134/eef82759fb29e2d658e3/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)