2010-10-14 87 views
2

我有一个测试,我必须检查在网页上选择特定项目时,该项目被加载到同一页面上的Flash对象。这是通过Javascript完成的。我必须检查通过Javascript传递给flash的参数是否正确(即正确的项目被传递给flash)。我现在想象的唯一方法是拦截这些javascript函数,并以某种方式读取它们的参数。任何人都可以建议如何做到这一点?您也可以提出其他解决方法...使用Selenium拦截Javascript函数调用

回答

2

假设您有一个JavaScript对象,在这种情况下称为Foobar,它可以调用您的Flash应用程序,您可以沿着这些线做些事情。

selenium.RunScript(@"var foo = new Foobar(); 
        foo.oldBlah = foo.blah; 
        foo.blah = function(){ 
         // run some code to do the checks maybe putting into a global Javascript variable 
         foo.oldBlah(); 
        };"); 
selenium.GetEval("var win = this.browserbot.getUserWindow(); return win.globalVarCreatedAbove"); 

我还没有测试过这个,但希望你能得到我正在尝试做的要点。