【问题标题】:Selenium test saving screenshotsSelenium 测试保存截图
【发布时间】:2016-09-29 06:36:40
【问题描述】:

我目前有一个 Selenium 测试,它在一个网站上运行 11 种不同的语言并截取每个部分的屏幕截图。图片本身会保存在属性文件中的相应文件夹中

screenshotsEnglish.dir=/screenshots/Languages/English screenshotsSwedish.dir=/screenshots/Languages/瑞典语

我想要做的不同是每次运行测试套件时,都会创建一个新的基本文件夹,其中包含当前日期戳,其结构与以前相同。我怎样才能使这项工作?我不能在属性文件中硬编码它,因为日期会不断变化。

为了更好地整体了解它是如何工作的

public static Object[][] dp() {
return new Object[][]{
    {
        "https://example-URL.net/example.php?lang=EN",
        "screenshotsEnglish.dir"
    },
    {
        "https://example-URL.net/example.php?lang=SV",
        "screenshotsSwedish.dir"
    }
};
}

@Test(dataProvider = "dp")
public void t(String url, String directory) {
    driver.get(url);
    Properties settings = PropertiesLoader.fromResource("settings.properties");  
    String screenshotDir = settings.getProperty(directory);
    screenShooter = new ScreenShooter(driver, screenshotDir, "en");
    /*...*/
}

使用 TestNG 用 Ja​​va 编写测试

我希望我已经说清楚了,并且一如既往,感谢所有帮助

【问题讨论】:

    标签: java selenium screenshot


    【解决方案1】:

    为什么不这样(没试过编译,只是快速尝试一下,所以可能有错别字):

    String screenshotDir = settings.getProperty(directory); //this is what you already have
    String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date()); //added: get current date
    screenshotDir = screenshotDir + "/" + date; //added: create modified path
    new File(screenshotDir).mkdirs(); //added: make the new directory
    screenShooter = new ScreenShooter(driver, screenshotDir, "en"); //this is what you already have
    

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      • 2022-11-17
      • 2019-03-10
      • 2012-09-07
      • 2013-05-06
      • 1970-01-01
      相关资源
      最近更新 更多