try: driver.find_element_by_id("kwsss").send_keys("selenium") driver.find_element_by_id("su1").click() except: driver.get_screenshot_as_file("/home/fnngj/python/error_png.png") 如果持续集成测试的话,会使得每次运行完的图片重复 所以我的思路是,每次在执行…
简单介绍 需求场景是:当测试安卓应用的脚本得到失败结果时,对当前手机屏幕截图,便于查找问题. 实现方式是:1)定义一个父类UITest,作为所有测试类的父类.在父类中UITest中定义一个截图的方法,所有的子类就都可以使用这个方法了.2)实现testng的ITestListener接口,参考这里,在这个接口的onTestFailure方法中调用测试类的截图方法. 定义测试脚本的父类 package main.java.com.dbyl.library.utils; /** * Created b…
最近要在框架中添加case失败时,要自动截图,主要又两种方式,思想都是在抛异常的时候,捕获到异常,并作页面截图处理.今天坐下总结. 一.第一种方式,重写onException方法 只针对webdriver的异常截图,该方法由于只针对webdriver抛的异常时才能截图,有一定的限制 a.继承AbstractWebDriverEventListener类,重写onException方法, public void onException(java.lang.Throwable throwable,…
哈哈哈,很久没写博客了,懒了. 因为一些原因最近需要把监听事件重新整理一下,开始没细想,直接copy网上的,其实结果发现报错很多,或者是达不到效果,然后把之前的代码翻出来,仔细看了一下.下面给一些需要的小伙伴整理一下思路: 1.首先我们用到的是testng里面的监听,所以这个毋庸置疑 2.我们需要重新他的监听事件 3.用例中肯定需要加入监听事件 这三点是网上公认的,但是怎么做确没有说明白. 首先看一下我的目录结构: 图片中我有4个类, 1.driverBase是一个基类,里面是driver的初始…
注: 以下内容引自 http://blog.csdn.net/sunnyyou2011/article/details/45894089 (此非原出处,亦为转载,但博主未注明原出处) 使用Testng框架搭建自动测试框架,经常会需要增加失败自动截图,以及失败重跑功能,下面介绍一下不修改Testng的源码,通过监听器的方式来实现自动截图.重跑.以及自定义生成的Html结果文件功能.自动截图功能1.新建一个Java类继承TestListenerAdapter2.重写onTestFailure.onT…
原生的unittest框架是不支持case失败后自动截图的功能的,网上看了大家的解决办法,大体上分为两种:1.要么加装饰器2.也有人封装断言这里我们看看还有没有其他的更加方便的方法值得大家一起探讨一下: 找不到元素后自动截图 如果使用selenium的话(相比于selenium,我更加喜欢airtest,这个后面的文章会提到airtest的UI自动化设计),我们知道不管是sendkeys.click.doubleclick 等操作还是assert都会去调用find_element 方法,我们完全…
testng执行case failed ,testng Listener会捕获执行失败,如果要实现失败自动截图,需要重写Listener的onTestFailure方法 那么首先新建一个Listener 类,继承TestListenerAdapter package com.dbyl.libarary.utils; import org.openqa.selenium.WebDriver; import org.testng.ITestContext; import org.testng.ITe…
testng执行测试用例的时候,如果用例执行失败会自动截图,方便后续排查问题 1.首先定义一个截图类: package com.rrx.utils; import java.io.File;import java.io.IOException;import java.util.Date; import org.apache.commons.io.FileUtils;import org.openqa.selenium.OutputType;import org.openqa.selenium.T…
一.对象键值为数字型时输出的对象自动排序问题如: var objs = {    "1603":{id:"1603"},    "1702":{id:"1702"},    "1502":{id:"1502"}} console.log(objs); 输出的对象是: { "1502":{id:"1502"},    "1603"…
以下代码是在QC里运行QTP来执行脚本过程,当执行过程中发现用例失败后就会自动截图,然后把用例返回到最初始的状态,模拟了场景恢复的机制 Class QCImageErrorCapture Dim qtpApp Sub Class_Initialize() Set qtpApp = CreateObject("QuickTest.Application") If qtpApp.CurrentDocumentType = "Test" Then qtpApp.Test.…