c# - 使用 Selenium 拦截 Javascript 函数调用

标签 c# javascript flash selenium selenium-rc

我有一个测试,我必须检查当在网页上选择特定项目时,该项目是否加载到同一页面上的 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/

相关文章:

c# - 如何获取内存中的对象大小?

c# - 每个请求的 spring.net nhibernate session /事务

javascript - 使用 Javascript 循环遍历并从 JSON 表示法中提取项目值

javascript - 从 JavaScript 返回数据到 Servlet?可能的?

C# Mongodb 驱动程序 : Translate Action into an UpdateDefinition

c# - 将 var 初始化为空

javascript - 使用 BOSH 时处理 JavaScript 中丢失的消息

php - Apache - 406 Not Acceptable PHP 问题

javascript - 是否有关于从浏览器启动 Adob​​e AIR 应用程序的教程?

ios - 应用程序不会在 iOS 设备上调整大小