弹簧DI-黄瓜JVM-懒惰的实例



我有一个项目,我有两种类型的测试,一旦需要WebDriver和其他需要自定义队列依赖性的项目。当使用Cucumber时,不可能具有两个独立的弹簧配置,因为它不允许您运行STEP类中的注释是否不同的测试。因此,我决定在我自动自动的所有豆子上使用懒惰的注释,以便它们只能在需要时进行实例化。

这似乎在我在WebDriver实例上施放Javascriptexecuter的任何地方都会造成一个问题,这是它的代理,而不是WebDriver的真实实例。它抱怨说,它不能铸造一个com.sun.proxy。$ proxy26到javascriptexecuter。

使用操作类别时,在尝试将WebDriver施放到HasinputDevices接口时也可以看到。

当网络驱动器被投入到界面中时,这似乎发生了。

有人遇到过这个问题,是否有可能懒惰地实例化Web驱动器对象并按照我们的要求进行铸造。

P.S。我不能将测试框架分为两个,因为一个项目对另一个项目的依赖性。

谢谢,约翰

我必须使用以下内容将对象从代理中恢复,最初发布在将弹簧的代理对象投射到实际运行时类

private T getTargetObject(Object proxy, Class targetClass) throws Exception {
   while( (AopUtils.isJdkDynamicProxy(proxy))) {
        return (T) getTargetObject(((Advised)proxy).getTargetSource().getTarget(), targetClass);
        }
        return (T) proxy;
}

最新更新