问答 selenium 直接运行测试用例,调用的截图方法就能成功;放到测试套件里运行就没有截图了,求大佬帮忙看一下

mdd~ · 2021年02月20日 · 最后由 mdd~ 回复于 2021年03月04日 · 2453 次阅读

如下图:在测试用例里直接运行则会在 report/image 目录生成截图

但是在测试套件里运行后没有生成截图

共收到 10 条回复 时间 点赞

有试过指定保存目录吗?

mdd~ #2 · 2021年02月22日 Author

截图方法里有指定路径 report/image

你写测试类不是要继承 unittest.TestCase 吗,这里有一个坑。

class TestCase(unittest.TestCase):
    def __init__(self,method='runtest'): #初始化的时候要加一个默认参数:method='xxx',你上面的例子就不会有问题了
        super(TestCase,self).__init__(method)
        pass
mdd~ #5 · 2021年03月01日 Author
HSB2 回复

谢谢你,我是自己写了个 myunit.MyTest,里面封装了 setup 和 teardown,然后其他所有的测试类都继承 myunit.MyTest,依照你说的方法,我把上面那段代码分别加到了 myunit.MyTest 里和其他测试类里试了下都不行,执行测试套件的时候还是没有截图

mdd~ 回复

会不会是相对路径的问题,suite 运行的位置和用例运行的位置不一样

seleniumer 回复


利用 Python 的 split() 函数进行字符串截取

mdd~ #8 · 2021年03月03日 Author

好像是的,把测试套件跟测试用例放在同一个目录就能生成截图了。如果不放在同一个目录要怎样改才能生成截图?

mdd~ 回复

做抉择,如果之后都运行套件,就直接用套件的相对路径,如果你想要两个都兼顾,那就只能把路径改成绝对路径了。

mdd~ #10 · 2021年03月04日 Author

好的,谢谢啦~

mdd~ 关闭了讨论 03月04日 13:07
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册