对文档检查的非现有变量进行对象检查

时间:2017-09-13 06:22:23

标签: javascript selenium extjs

我有一个用于Selenium测试的单行Js,用于检查页面是否已完成加载。

true  === ((typeof Ext.Ajax != 'undefined' && Ext.Ajax.isLoading()) || (jQuery != 'undefined' && jQuery.active) || document.readyState != 'complete')

所有其他Java / Selenium检查方法 NOT 与我们的IE FF和Chrome测试设置行(crap IE)兼容。我们花了3个月的时间尝试,所以Selenium检查是不可能的。 大多数情况下这个检查都没问题,除非在该页面中未设置Extjs变量,然后我得到可怕的Ext未定义的异常并且selenium崩溃。 是否有另一种方法来检查一个衬里中的变量,它可以进行嵌套检查我尝试了对象检查,如

javascript test for existence of nested object key

但是当我做的时候

  

((Ext || {})。Ajax

我仍然得到例外。

2 个答案:

答案 0 :(得分:1)

当我阅读其他帖子时,我遇到了一个解决方案:

(typeof Ext != 'undefined' ? Ext : {}) 

答案 1 :(得分:1)

这也应该有效:

(window.Ext || {}).Ajax