美文网首页
pytest flaky库与asyncio库不能共存的问题解决

pytest flaky库与asyncio库不能共存的问题解决

作者: heliping_peter | 来源:发表于2021-08-21 19:24 被阅读0次

    1 pytest flaky库,是失败后重新执行的功能,对于自动化UI测试非常重要,因为web ui定位不是很稳定,连跑成功率一般不高

    2 现在比较流行的web ui定位,都是js的异步库,草根python移植过来,必须使用python的异步库执行,比如pyppeteer

    3 执行时发现pytest的asyncio库,与flaky库不能共存,当用例标注为asyncio时,后面的重跑会直接略过。

    google发现flaky库之前有人提交了修改的代码,但是没用合并。手动修改后可用。在此记录。修改处如下

    import asyncio
    def call_and_report(self, item, when, log=True, **kwds):
         self._reset_test_event_loop(item)
    
       @staticmethod
        def _reset_test_event_loop(item):
            if 'asyncio' in item.keywords and 'event_loop' in item.funcargs:
                # always use new loops for every run
                item.funcargs['event_loop'] = asyncio.new_event_loop()
    

    修改链接

    Fix flaky tests with asyncio by wjsi · Pull Request #179 · box/flaky

    相关文章

      网友评论

          本文标题:pytest flaky库与asyncio库不能共存的问题解决

          本文链接:https://www.haomeiwen.com/subject/bcqqiltx.html