Java web应用程序中的强制减速

Java web应用程序中的强制减速,java,tomcat,selenium,jetty,Java,Tomcat,Selenium,Jetty,为了使用所有适当的“等待”编写高质量的Selenium测试,我目前正在强制web应用程序使用以下命令运行得更慢: public class SlowLoadingFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOExce

为了使用所有适当的“等待”编写高质量的Selenium测试,我目前正在强制web应用程序使用以下命令运行得更慢:

public class SlowLoadingFilter implements Filter {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        try {
            Thread.sleep(1000L);
        } catch (InterruptedException e) {
            throw new ServletException("SlowLoadingFilter sleep failed", e);
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

我想知道使用Tomcat或Jetty是否有合适的方法,或者这是唯一的方法?

这与Selenium有什么关系?您是否正在尝试更改服务器的行为以使您的Selenium测试通过?编写Selenium测试时,您必须一直等待元素,如果webapp速度过快,您可能会错过一些等待,并且如果有任何东西稍微减慢,测试将偶尔中断。我在问题中添加了这一信息,事实上不清楚是什么。通常问题是Selenium速度太快,而webapp/浏览器正在追赶,这会导致请求过时的元素、尚未可见的元素甚至尚未存在的元素。如果webapp速度很快,那么您不需要在Selenium代码中进行任何等待,它基本上可以正常工作。但是“大部分”是不够的,测试必须总是成功的,即使偶尔有什么东西会减慢webapp的速度,这就是为什么我需要一些东西来迫使它发生哈!现在我明白了,现在我明白你想做什么了。好主意。您可以考虑使用[tomcat]和/或[jetty]标记问题,以吸引服务器人员。或者试试看?