Dunit GuitestrunnerのCodeからToolsapiを呼び出すことはできますか?

StackOverflow https://stackoverflow.com/questions/7364206

  •  28-10-2019
  •  | 
  •  

質問

Dunit Guitestrunnerコードから使用できるように、Toolsapiユニットのグローバル変数Borlandideervicesを初期化する方法はありますか?

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;

この例では、Borlandideervices変数が初期化されていないため、プロジェクト変数はゼロになります。 Guitestrunnerは、IDE内からデバッグモード内から実行されます。

役に立ちましたか?

解決

いいえ、なぜなら BorlandIDEServices IDE自体の内部(一部として)で実際に実行されているコードからのみ使用できます。デバッガーを介した外部アプリケーションで実行されるコードは、まだ外部で実行されています。デバッガーがそうであるにもかかわらず、それらはIDEの一部ではなく、したがって、 ToolsAPI 機能。

のようなツール gexperts 実際にIDEに接続してその一部になるため、アクセスできるのはそのため ToolsAPI インターフェイス。これはそうではありません GUITestRunner;デバッガーの下で実行されているかどうかにかかわらず、これは外部アプリケーションです。

他のヒント

私が想像できる唯一の方法(テストしていない)には、いくつかのインタープロセス通信をめぐるGuitestrunnerと通信するOTAプラグインが必要になります。

たとえば、プラグインはソケットを開き、Guitestrunnerアプリケーションから「editor」の「emotess.pas」のようなコマンドを受信します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top