gpt4 book ai didi

java - Selenium 测试保存截图

转载 作者:行者123 更新时间:2023-12-01 09:52:06 24 4
gpt4 key购买 nike

我目前有一个 Selenium 测试,该测试通过 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

关于java - Selenium 测试保存截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com