当前位置: 首页 > 知识库问答 >
问题:

当在无头火狐浏览器上通过jenkins运行硒测试时,捕获的屏幕截图为0字节

米子轩
2023-03-14

我正在Cent OS上的无头Firefox浏览器上通过Jenkins运行selenium测试。我已经编写了一段代码来捕获失败时的截图,在我的本地windows环境中,截图非常好,但当我在CentOS上使用Jenkins运行相同的脚本时,截图是0字节

下面是捕获截图的Java代码:

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;

public class Screen_Capture {
    public static void takeDesktopScreenshot(WebDriver driver,String dateFormat,String fileFormat,String screenPath){
        File src=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        try{
            SimpleDateFormat s=new SimpleDateFormat(dateFormat);
            String d=s.format(new Date());
            FileUtils.copyFile(src, new File(screenPath+d+"."+fileFormat));
        }
        catch (Exception e) {}
    }


}

测试失败时截图:

@Override
    public void onTestFailure(ITestResult arg0) {
        Screen_Capture.takeDesktopScreenshot(driver,dateFormat,fileFormat,screenPath);
        log.error("Test Case Failed");


    }

The Images saved on Jenkins Workspace is blank(0 bytes)

[Screen File Size is 0 Bytes][1]

Please help me to overcome this issue.

I am also attaching my Build Environment Configuration on Jenkins:
[Build Environment Configuration on Jenkins][2]


  [1]: https://i.stack.imgur.com/NBNUD.png
  [2]: https://i.stack.imgur.com/qMxPq.png

共有1个答案

蔚俊人
2023-03-14

嗨有时可能会有权限问题 jenkins ,尝试给chmod -R 777 *,也尝试使用chown下载的文件夹,首先手动尝试并尝试使用jenkins,你会很容易地知道这个问题。

 类似资料:
  • 我有一个通过TestNG运行并行测试的selenium项目。当测试失败时,我有一个listener类来捕获屏幕截图。类如下 在我的测试中,我有一个AfterMethod来清理测试 如果逐个运行测试,则捕获正确的浏览器屏幕截图,但如果运行parrallel,testsit捕获错误的测试浏览器。我认为问题可能是以下之一 after方法已经退出浏览器(有时这是一种情况,因此我必须添加hasQuit布尔值

  • 本地:- 我正在尝试在chrome浏览器上运行硒测试。 当前,另一个chrome浏览器正在运行,然后通过打开新配置文件在chrome browser上运行测试,并得到以下错误:- Chrome驱动配置:- 如果我关闭现有的正在运行的chrome浏览器,然后在chrome浏览器上运行硒测试,它可以工作。 詹金斯:- 当我试图在詹金斯上跑步时。我收到以下错误:- 这里的问题是什么,有人能帮我解决这个吗

  • 问题内容: 如何在Selenium + Python中捕获失败的测试用例的屏幕截图?我可以获取页面的屏幕截图,但是在捕获失败的测试用例的屏幕截图时会遇到困难。 码: 问题答案: 您可以像这样: 希望对您有帮助!

  • 我在使用html2canvas。js库,用于与selenium一起拍摄全页屏幕截图。 我保存了html2canvas。我的java项目的类路径中的js文件。我用来获取屏幕截图的java脚本代码是: 我能够捕获flipkart页面的全页屏幕截图,但其中没有任何图像。 我无法使用Chrome的TakeScreenshot实用程序,因为它不允许使用Chrome浏览器拍摄整页屏幕截图。

  • 我想通过Jenkins/Hudson运行用Java编写的本地Selenium测试脚本。是否可以从我的本地windows机器运行脚本?到目前为止,我已经用Java编写了一些简单的Selenium测试,如果我通过Eclipse IDE执行它们,这些测试运行得非常好。我将感谢一个深入的解释。

  • 我试图根据用户输入的坐标捕捉区域截图。基本上,用户在屏幕上点击得到x,y坐标,然后在其他地方点击另一对x,y坐标,然后将其放入一个矩形中,并使用机器人库创建屏幕截图。 我有的问题是,我得到了随机截图,这不是用户输入的坐标,我怎么能考虑包括0的坐标,因为矩形值必须超过1。 以下是我迄今为止的代码: