C# 使用Selenium拦截Javascript函数调用

C# 使用Selenium拦截Javascript函数调用,c#,javascript,flash,selenium,selenium-rc,C#,Javascript,Flash,Selenium,Selenium Rc,我有一个测试,我必须检查当在网页上选择某个特定项目时,该项目是否加载到同一页面上的flash对象中。这是通过Javascript实现的。我必须检查Javascript传递给flash的参数是否正确(即,正确的项目被传递给flash)。目前我能想象的唯一方法是截取这些javascript函数并以某种方式读取它们的参数。有人能建议怎么做吗?您也可以建议其他解决方法…假设您有一个JavaScript对象,在本例中称为Foobar,该对象调用您的Flash应用程序,您可以按照以下思路执行操作 selen

我有一个测试,我必须检查当在网页上选择某个特定项目时,该项目是否加载到同一页面上的flash对象中。这是通过Javascript实现的。我必须检查Javascript传递给flash的参数是否正确(即,正确的项目被传递给flash)。目前我能想象的唯一方法是截取这些javascript函数并以某种方式读取它们的参数。有人能建议怎么做吗?您也可以建议其他解决方法…

假设您有一个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");
我还没有测试过这一点,但希望你能了解我要做的事情的要点