我有一个测试,我必须检查当在网页上选择特定项目时,该项目是否加载到同一页面上的 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");
我还没有测试过这个,但希望你能理解我正在尝试做的事情的要点。
关于c# - 使用 Selenium 拦截 Javascript 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3932285/