私は現在、Janus Systems の GridEx2000b コントロールを使用する vb6 で開発されたレガシー アプリケーションのテストを自動化しています。
これを行うために、テスト自動化を開発するためのお気に入りのツールとして Ranorex を使用しているため、C# を使用してテスト コードを開発できます。
私の問題は、GridEx 2000b コントロールを自動化することです。これは、Ranorex がすぐに使用できるものではありません。したがって、コントロール用に見つけることができる Win32 ハンドルを使用して GrixEx コントロールを参照できるソリューションを見つけようとしているので、コンポーネントから ComInterface を使用してコントロールを自動化できます。
解決策のアイデアはありますが、それを行う方法がわかりません。皆さんが私を助けてくれることを願っています.
問題の擬似コード:
using GridEX20;
class GridExWrapper
{
public GridEX20.GridEXClass Instance;
public GridExWrapper(IntPtr win32handle)
{
Instance = (GridEX20.GridEXClass)Win32ControlUtilities.GetControlReference(win32Handle);
}
}
class Win32ControlUtilities
{
public static SomeKindOfHandle GetControlReference(IntPtr win32Handle)
{
...
...
...
}
}
Ranorex またはその他のスパイ ツールから win32handle を取得します。次に、このように GridExWrapper を使用できます。
using NUnit.Framework;
class Program
{
[Test]
public void control_should_have_9_items()
{
/// Get win32 handle from Ranorex
IntPtr win32handle = XXXXXX;
int expectedItemCount = 9;
GridEXClass control = new GridExWrapper(win32handle);
Assert.AreEqual(expectedItemCount, control.ItemCount);
}
}