簡體   English   中英

硒測試保存屏幕截圖

[英]Selenium test saving screenshots

我目前有一個硒測試,該測試通過一種11種不同語言的網站運行,並為每個部分拍攝屏幕截圖。 圖片本身保存在屬性文件中的相應文件夾中

screenshotsEnglish.dir = / screenshots / Languages / English screenshotsSwedish.dir = / screenshots / Languages / Swedish

我想做的不同是每次運行測試套件時,都會使用當前日期戳創建一個新的基本文件夾,然后使用與以前相同的結構。 我該如何進行這項工作? 我顯然不能在屬性文件中對其進行硬編碼,因為日期會不斷變化。

總體上更好地了解一切

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");
    /*...*/
}

測試是用Java用TestNG編寫的

我希望我已經很清楚自己,並且一如既往地感謝所有幫助工作

為什么不這樣(不嘗試編譯,只是快速嘗試,所以可能出現錯別字):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM