有没有人使用Greasemonkey + jQuery在Salesforce应用程序中自动化测试?
我正在尝试从单击放大镜图标时获得的内置Salesforce搜索页面中选择一个指向帐户的链接。
这让我对iFrame很好:
$('#resultsFrame')[0]
但是,当我尝试这样做时,找到该帐户的链接:
$('#resultsFrame').find("a:contains('MY ACCOUNT NAME HERE')").length
它永远找不到链接。如果我尝试的话,那更令人沮丧的是:
alert('Ready ' + $('#resultsFrame')[0].contentDocument.childNodes[0].innerHTML);
我回来了:
<head></head><body></body>
我知道Salesforce会做很多棘手的HTML / JavaScript / Ajax技巧。我只是做错了什么或者我应该放弃并切换到Apex测试用例或设置Selenium环境?
----------------------
编辑:好的,所以我再次尝试并添加了一个警报,以便在页面加载时保留我的代码。这是有效的(这很奇怪,我会发誓我已经尝试过了)。我现在可以使用这个找到我的元素:
$('#resultsFrame').contents().find("a:contains('MY ACCOUNT NAME HERE')")[0]
也许我只是错过了对内容()(搜索iFrames时需要)的调用,但我在其他脚本中没有它。
无论如何现在我只需要知道什么事件实际告诉我页面已加载。在"$(document).ready( function(){..."
电话中包装所有内容都无济于事。
有没有一种简单的方法来确定页面真正加载的时间?