python+appium时使用测试报告HTMLTestRunner时报错:E(<open file ‘’, mode ‘w’ at 0x000000000305B150>, ‘\nTime Elapsed: 0:00:10.082000’)的解决办法TOC
最近在弄app的自动化测试,遇到个问题就是生成测试报告的问题,在网上也百度了好多,都说是将HTMLTestRunner脚本的第631行的 print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime) 或print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)) 修改为 sys.stderr.write(’\nTime Elapsed: %s\n’ % (self.stopTime - self.startTime)),但是我这个试了不行,后来我把python2和python3两个版本都去尝试了一下,最终可以了。下面是我自己总结的,希望有需要的朋友可以用的到。
1)python2:HTMLTestRunner脚本的第631行为: print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime) 或print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime))
2)python3:将HTMLTestRunner脚本的第631行的 print >> sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime) 或print(sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)) 修改为 sys.stderr.write(’\nTime Elapsed: %s\n’ % (self.stopTime - self.startTime))
这里需要注意的是,拿python3举例:不要把之前的那一行注释掉,重新换一行写替换的那个,这个我试过是不行的,要直接在原来的行上把之前的删除,换成新的就可以了,如图片中:直接把632行修改为 sys.stderr.write(’\nTime Elapsed: %s\n’ % (self.stopTime - self.startTime))即可