相关疑难解决方法(0)

在Python中使用Selenium Webdriver测试失败时的自动截图

如果我的webdriver测试失败(任何异常或断言错误),我想自动捕获屏幕截图.我正在使用Python unittest和Selenium Webdriver.有没有人有这个问题的解决方案?

python selenium screenshot webdriver

25
推荐指数
4
解决办法
2万
查看次数

如何使用python unittest2仅在测试失败时执行代码?

我在python的unittest2框架中运行了一些基于类的单元测试.我们正在使用Selenium WebDriver,它有一个方便的save_screenshot()方法.我想抢到拆解()的截图为每个测试失败,以减少花在调试的时间,为什么一个测试失败.

但是,我找不到任何方法只在测试失败时运行代码.tearDown()无论测试是否成功,都会调用,我不想让我们的文件系统混乱,有数百个浏览器屏幕截图用于成功的测试.

你会怎么做?

python unit-testing selenium-webdriver

11
推荐指数
1
解决办法
1735
查看次数

获取Python的nosetests会产生一个tearDown()方法

我希望能够获得特定测试方法的结果并将其输出到拆解方法中,同时使用鼻子测试运行器.有一个很好的例子在这里.

但不幸的是,运行nosetests example.py不起作用,因为鼻子似乎不喜欢超类中的run方法被覆盖的事实:

AttributeError: 'ResultProxy' object has no attribute 'wasSuccessful'
Run Code Online (Sandbox Code Playgroud)

python nose

10
推荐指数
2
解决办法
2581
查看次数

Python unittest,只有在测试失败时才做某事

当使用unittestpython 3中的库时,我只想在测试失败时做一些操作(但这应该在类级别,所以我不必为每个测试编写它).例如,当使用表现时,有类似的东西:

def after_step(context, step):
    if step.status == "failed":
        ...
Run Code Online (Sandbox Code Playgroud)

是否有类似的unittest库,如果没有,最简单的方法是做类似的事情?

python unit-testing

8
推荐指数
2
解决办法
2893
查看次数

我如何使用unittest.TestResult?

我只是在短时间内使用unittest.我正在使用Jython 2.7.10"最终版本"

在解释TestResult的Python 2.7文档中,它说:

TestResult类的以下方法用于维护内部数据结构,并且可以在子类中进行扩展以支持其他报告要求.这对于构建在运行测试时支持交互式报告的工具特别有用.

startTest(test)... stopTest(test)... startTestRun()... stopTestRun()

这就是我想要做的......但我无法弄清楚你如何使用TestResult.这是一个SSCCE ......

import unittest

class TestResultX( unittest.TestResult ):
    def startTest( self, test ):
        print( '# blip')
        unittest.TestResult.startTest( self, test )
    def stopTest( self, test ):
        print( '# blop')
        unittest.TestResult.stopTest( self, test )
    def startTestRun( self ):
        print( '# blep')
        unittest.TestResult.startTestRun( self )
    def stopTestRun( self ):
        print( '# blap')
        unittest.TestResult.stopTestRun( self )

class TestCaseX( unittest.TestCase ):
    def test_nonsense(self):
        print( '# wotcha' )
        self.assertTrue( False )

    def run( self, test_result=None ):
        print( …
Run Code Online (Sandbox Code Playgroud)

python unit-testing jython

7
推荐指数
1
解决办法
3252
查看次数

python unittest计数测试

unittest是否有可能选择跳过测试的总测试次数和运行次数.并且运行后测试次数失败(我知道它可以在输出中看到).如果我想以编程方式将它转换为json,我想将它转储到json中

多谢

python python-unittest

6
推荐指数
2
解决办法
3388
查看次数

如何捕获 Python Unittest 测试用例失败的屏幕截图

我使用 Python 3.6.5 和以下库:

  • Appium-Python-客户端==0.26
  • unittest2==1.1.0
  • 硒==3.5.0
  • pytest==3.6.3

现在我需要在测试失败的情况下捕获屏幕截图,所以我故意放了一个错误的陈述 self.driver.find_element_by_css_selector('test')

我正在使用sys.exc_info(). 但是当我使用命令执行以下代码时:py.test untitled.py或者python3 -m unittest untitled.py它没有捕获它。

代码:

import sys, time, unittest2
from selenium import webdriver

class FB360(unittest2.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_user_can_login(self):
            self.driver.get('https://www.google.co.in')
            self.driver.find_element_by_css_selector('test')

    def tearDown(self):
        print(sys.exc_info())
        if sys.exc_info()[0]:
            test_method_name = self._testMethodName
            self.driver.save_screenshot(test_method_name + str(time.time()) + '.png')
        self.driver.quit()

if __name__ == '__main__':
    unittest2.main()
Run Code Online (Sandbox Code Playgroud)

开/关:

(无,无,无)

================================================== ==================== 错误:test_user_can_login (untitled.FB360)


回溯(最近一次通话):文件“/Volumes/Harry/Projects/pythonScreenshots/untitled.py”,第 11 行,在 test_user_can_login self.driver.find_element_by_css_selector('test') 文件“/Library/Frameworks/Python.framework/ Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 498, in find_element_by_css_selector …

python pytest selenium-webdriver python-unittest python-3.6

3
推荐指数
1
解决办法
3579
查看次数