Testcafe自动化打开Salesforce主页时加载图标长时间显示问题
解决Testcafe访问Salesforce沙箱主页时加载图标长时间显示的问题
以下是针对这个问题的排查和解决方案,按优先级尝试:
1. 先确认沙箱本身是否正常
- 手动用相同浏览器访问沙箱主页,观察是否也出现加载图标停滞的情况。如果手动也有问题,直接联系Salesforce管理员排查沙箱状态、资源部署或后台服务异常。
- 打开浏览器控制台(F12),切换到Network标签,刷新页面,检查是否有失败(红色标识)的静态资源、API请求,这类失败会导致页面加载卡住。
2. 调整Testcafe的等待逻辑
沙箱刷新后页面加载逻辑可能变更,原来的等待条件可能不再适用:
- 替换通用的页面加载等待,改为等待Salesforce加载图标消失:
// 假设加载图标选择器为.slds-spinner,根据实际页面调整 await t .wait(1000) // 给加载图标出现的时间 .expect(Selector('.slds-spinner').exists).notOk({ timeout: 30000 });
- 延长页面加载超时时间,在fixture中设置:
fixture`Salesforce Home Page` .page`https://your-sandbox-url.my.salesforce.com` .pageLoadTimeout(60000); // 设为60秒,根据实际情况调整
或者启动Testcafe时添加命令行参数:
testcafe chrome your-test-file.js --page-load-timeout 60000
3. 清除浏览器缓存并更换测试浏览器
沙箱刷新后旧缓存的资源可能和新环境冲突:
- 启动Testcafe时强制清除浏览器缓存:
testcafe chrome your-test-suite/ --clear-cache
- 尝试更换Testcafe使用的浏览器,比如从Chrome换成Firefox,验证是否是浏览器特定的兼容问题。
4. 重新验证测试账号的Session与权限
沙箱刷新后可能导致原有Session失效或权限变更:
- 在测试代码中加入完整的登录流程,不要依赖之前保存的Session:
await t .typeText('#username', 'your-test-username') .typeText('#password', 'your-test-password') .click('#Login');
- 确认测试账号在沙箱中仍具备访问主页的权限,尝试手动登录账号检查功能是否正常。
内容的提问来源于stack exchange,提问作者suresh krishna
相关产品推荐
相关产品推荐

