根据用户对应用程序的操作方式和时间,“我的应用程序”会在JavaScript中进行大量计算.该项目(通过控制台调用)输出有关此计算如何进行的有价值的信息,因此我们可以轻松地发现任何正在蔓延的NaN.
我们计划将Selenium(带有python的RC)集成到测试或项目中,但是如果我们可以在python测试用例中获得控制台输出消息,则可以识别出任何NaN甚至任何错误的计算.
那么,Selenium是否有办法吸收这些输出(最好是在无控制台的环境中)?
如果没有,我想知道是否可以转移控制台调用,可能是通过将控制台变量重新绑定到其他东西,以便硒可以获取该输出并通知python端.或者,如果没有控制台,是否还有其他方法可以实现这一目标.
我知道硒具有诸如waitForElementPresent等命令,但是我不想在应用程序上显示这些中间计算,还是唯一的方法?
任何帮助表示赞赏.
谢谢.
解决方法:
有GetEval()调用,该调用将JavaScript调用的结果返回到页面.如果页面上有JavaScript,则可以执行以下操作
self.assertEqual(selenium.GetEval("this.browserbot.getUserWindow().functionUndertest().isNaN();"),"false","There was a NaN detected")
通过browserbot访问,您可以调用页面上的javascript函数并获取结果.如果得到不错的结果,则isNaN()将返回false