您的位置:首页 > 其它

测试用例中截取异常图片时,单独存储一个目录,并记录到测试执行记录中

2017-02-09 14:32 351 查看
封装一个截图存储的方法:

如果当前页面有滚动条,这里增加了滚动所有页面展示并截图,如下

    def printScreen(self,save_fn):

        self.driver.execute_script("""

        (function () {

          var y = 0;

          var step = 100;

          window.scroll(0, 0);

     

          function f() {

            if (y < document.body.scrollHeight) {

              y += step;

              window.scroll(0, y);

              setTimeout(f, 50);

            } else {

              window.scroll(0, 0);

              document.title += "scroll-done";

            }

          }

     

          setTimeout(f, 1000);

        })();

      """)

 

        for i in xrange(30):

            if "scroll-done" in self.driver.title:

                break

            time.sleep(1)

        self.driver.save_screenshot(save_fn)

测试用例循环执行,并当出现异常时,截图保存,且把图片名称存储到测试执行记录中

for k in range(0,len(testcaseStepList)):

                    #执行用例步骤

                    teststep=testcaseStepList[k]

                    if teststep.__getisrun__()==1:

                        try:

                            #设置测试步骤开始执行时间

                            t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

                            teststep.__settestcasestepstarttime__(t)

                            #执行测试步骤

                            self.executeTestStep(testsuite,testcase,teststep)

                            #设置测试步骤结束执行时间

                            t=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))

                            teststep.__settestcasestependtime__(t)

                            #设置测试步骤运行结果为"1"成功

                            teststep.__setresult__(1)

                        except Exception as e:

                            #存放异常截图的路径

                            t=time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))

                            pngname=teststep.__gettestcasename__()+t+".png"

                            dirpath=os.path.abspath("..")+"\\Testresult\\ExceptPic\\"

                            save_fn=dirpath+pngname

                            TestWebDriver().printScreen(save_fn)

                            #测试步骤的异常截图名称

                            teststep.__setErrorpic__(pngname)

                            print teststep.__gettestcasename__(),"-测试步骤执行异常!",('%s' % e)

                            #设置测试步骤运行结果为"0"成功

                            teststep.__setresult__(0) 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐