gpt4 book ai didi

使用Apex测试执行后,Salesforce处于“组织管理锁定”状态

转载 作者:行者123 更新时间:2023-12-04 12:11:47 27 4
gpt4 key购买 nike

我使用 Apex测试执行屏幕在沙盒组织中运行所有测试用例。
几个测试用例通过了,然后进展似乎取决于一个先前可以正常工作的测试用例。
然后,我使用“中止”按钮尝试取消似乎有效的测试执行。
现在,任何随后的运行测试的尝试都不会超过“已排队”状态。

选择单个顶点类并使用同步运行测试按钮会导致以下错误消息:

Organization Administration Locked

The changes you requested requiresalesforce.com to temporarily lock your organization's administrationsetup. However, the administration setup has already been locked byanother change. Please wait for the previous action to finish, thentry again later.


尝试将更改从Eclipse保存到Apex类会产生错误:
  • Save error: Unable to perform save on all files: The changes you requested require > salesforce.com to temporarily lock your organization's administration setup. However, theadministration setup has already been locked by another change. Please wait for > the previous action to finish, then try again later. (ALREADY_IN_PROCESS)

如果我查询ApexTestQueueItem表,似乎有3个测试用例处于“正在处理”状态。

如何从正在处理状态清除这些ApexTestQueueItem? 我以为这会让我越过“组织管理”锁。
我确实检查了安装审核跟踪,并且最近的更改是从我的用户到Apex类。

最佳答案

更新了

我的支持案例已升级为“高级支持团队”。他们对我的沙箱做了一些操作,并建议这是一个已知问题,并且只能通过Apex类UI(例如https://xyz.salesforce.com/01pL00000000001)一次只运行一个类的测试用例。

我应该而不是通过以下方式运行测试用例:

  • Apex测试执行用户界面
  • 手动创建ApexTestQueueItem记录
  • Apex类-[运行所有测试]

  • 我假设对于个别测试用例,Eclipse目前是可以的,因为它本质上不是异步的。

    我想告诉你他们对我的问题沙箱组织做了什么,但目前还不确定。希望在developerforce论坛上有一个平行的问题会产生一些答案- Using Apex Test Execution results in a "Organization Administration Locked" that doesn't clear

    Twitter的一些有趣信息:

    "...been working on it all day. Hope to have the fix out next wk." - Rich Unger

    "@rich_unger great to hear, thanks for update, any short term workaround? if not, I'll move my code to another org until then" - Michael Gallagher. "@mjgallag24 workaround is to not use async testing" - Rich Unger

    因此,回答我自己的 问题:“如何从“处理中”状态清除这些ApexTestQueueItem?”

    答:如果您遇到“已知问题”,则当前不能。唯一的选择是提出支持案例,然后等待Salesforce予以解决。

    我尝试了以下匿名顶点,以清除处理队列中的顶点测试用例:
    List<ApexTestQueueItem> items = [Select Id,ApexClassId,Status,ExtendedStatus,ParentJobId from ApexTestQueueItem where Status != 'Completed'];
    for(ApexTestQueueItem atqi : items) {
    atqi.Status = 'ABORTED';
    }
    update items;

    这似乎没有期望的结果,因为在随后的对ApexTestQueueItem的SOQL查询中,“状态”列保持不变。

    我去了[管理设置>监视> Apex作业]下寻找Apex作业,但是没有出现JobType = TestRequest的记录。

    接下来,我尝试使用匿名顶点终止作业:
    System.abortJob('707L0000000FgZIIA0');

    AsyncApexJob将状态更改为“已终止”。

    关于使用Apex测试执行后,Salesforce处于“组织管理锁定”状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9491229/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com