【问题标题】:How to open correctly a local file within Chrome using Selenium WebDriver and Cucumber?如何使用 Selenium WebDriver 和 Cucumber 在 Chrome 中正确打开本地文件?
【发布时间】:2018-05-16 23:03:23
【问题描述】:

在通过所有测试用例(又名 Cucumber 中的场景)后,我尝试使用 @After 挂钩 Cucumber 功能调用一个方法,以便在 Chrome 浏览器中打开报告文件。这个想法是在所有测试通过后使用 Selenium WebDriver 显示一个报告文件。当 Cucumber 调用此 @After 钩子方法时,Selenium 启动,获取此路径,但 Chrome 不打开报告文件。 Chrome 显示“找不到您的文件。它可能已被移动或删除。ERR_FILE_NOT_FOUND”。但是,如果然后我手动单击重新加载按钮,则文件将成功打开。 当您熟悉 Cucumber 和 Selenium 时,请帮助我。 先感谢您。 附言是的,我也尝试将 '\' 替换为 '/'

当 Selenium 尝试访问该报告 html 文件时: chrome screenshot

我的 Java 代码是:

@After
public void afterScenarios(){
          System.setProperty("webdriver.chrome.driver", "C:\\Users\\Testing\\BrowserDrivers\\chromedriver_win32\\chromedriver.exe");
          driver = new ChromeDriver();
          driver.manage().window();
          System.out.println("Opening the report...");
          driver.get("C:\\Users\\target\\cucumber-report\\business-acceptance-test1\\index.html");

}

【问题讨论】:

  • 对我来说它工作得很好.. 只需在将 url 加载到 chrome 浏览器后刷新一次

标签: java google-chrome selenium-webdriver cucumber bdd


【解决方案1】:

执行 After 挂钩时,报告过程未完全完成。尝试将 selenium 代码放入 JVM 关闭挂钩。这将确保一切都完成。

Runtime.getRuntime().addShutdownHook(new Thread()......);

参考这个-https://www.geeksforgeeks.org/jvm-shutdown-hook-java/

【讨论】:

    猜你喜欢
    • 2015-12-03
    • 1970-01-01
    • 2018-01-04
    • 2016-07-18
    • 2021-05-15
    • 2020-05-25
    • 1970-01-01
    • 2016-09-20
    • 2016-04-22
    相关资源
    最近更新 更多