平时测试时,我们经常想在执行脚本时,如果遇到错误能及时截屏,保留错误信息,错误界面,方便定位。
1.截屏方法:
Holmos的截屏方法是在HolmosWindow类下的:
takeScreenshot();
// 根据当前的时间戳来命名图片
TakeScreenshot(String fileName) // 根据传入的值来命名图片
2.截屏图片存放地址:
从放在C盘下的Holmos配置文件 holmosConf.properties (配置文件内容如下图)
我们可以看到截图默认的保存位置是咋D盘中的holmos文件夹下的screens文件夹内,当然你可以修改到你想要存放的位置。
3.具体例子:
下面具体代码例子,根据方法名或者根据抛出的信息命名图片:
import org.junit.Test;
import com.holmos.webtest.EngineType;
import com.holmos.webtest.utils.HolmosWindow;
public class TakeScreenshot_Test {
@Test
public void screen() {
try {
// 打开百度页面
HolmosWindow. openNewWindow(EngineType. WebDriverChrome, "http://www.baidu.com" );
// 获取页面title,如果为"百度一下"则输出神了。如果不是抛出错误
if (HolmosWindow.getTitle().equals( "百度一下" )) {
System. out .println("神了" );
} else {
throw new Exception( "获取的title不是为百度一下" ); // 抛出错误信息
}
} catch (Exception e) {
System. err .println(e.getMessage());// 打印出错误的信息
HolmosWindow. TakeScreenshot(e.getMessage()); // 截屏命名图片名为 抛出的信息
String fileName = new Exception().getStackTrace()[0].getMethodName();// 获取自身方法名
HolmosWindow. TakeScreenshot(fileName); // 截图命名图片为方法名,例如该方法为 srcee
HolmosWindow. takeScreenshot(); // 根据当前时间戳来命名图片
} finally {
HolmosWindow. closeAllWindows(); // 关闭浏览器
}
}
运行结果:
可以看到在D:\holmos\screens下截了3张对应名字的图片