首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以从DUnit GUITestrunner中的代码调用ToolsAPI吗?

我可以从DUnit GUITestrunner中的代码调用ToolsAPI吗?
EN

Stack Overflow用户
提问于 2011-09-09 23:46:39
回答 2查看 286关注 0票数 5

有没有办法以ToolSAPI为单位初始化全局变量BorlandIDEServices,以便可以在DUnit GUITestrunner代码中使用它?

代码语言:javascript
复制
procedure TGUITestRunner.FailureListViewClick(Sender: TObject);
var
  Project: IOTAProject;
begin
  if FailureListView.Selected <> nil then
  begin
    TestTree.Selected := TTreeNode(FailureListView.Selected.data);

    // call OTA
    Project := ToolsAPI.GetActiveProject;
    ShowMessage(Project.ProjectType);

  end;
end;

在本例中,项目变量将为nil,因为BorlandIDEServices变量未初始化。GUITestrunner在调试模式下从集成开发环境中运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-10 00:32:10

不能,因为BorlandIDEServices只能从实际运行在集成开发环境内部(作为其一部分)的代码中获得。通过调试器在外部应用程序中执行的代码仍然在外部运行;即使调试器是集成开发环境的一部分,它们也不是集成开发环境的一部分,因此无法访问ToolsAPI功能。

GExperts这样的工具实际上插入到集成开发环境中并成为其中的一部分,这就是它们可以访问ToolsAPI接口的原因。GUITestRunner并非如此;无论它是否在调试器下运行,它都是一个外部应用程序。

票数 4
EN

Stack Overflow用户

发布于 2011-09-10 01:00:47

我能想到的唯一方法(没有测试过)是需要一个通过进程间通信与GUITestrunner通信的OTA插件。

例如,该插件打开一个套接字,并从GUITestrunner应用程序接收诸如“在编辑器中打开文件”、“SomeTests.pas”之类的命令。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7364206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档