[英]TestStack.White panel click
我想用TestStack.White創建一個自動登錄WinForms應用程序。 這是我的代碼:
private void button1_Click(object sender, EventArgs e)
{
Process[] process = Process.GetProcessesByName("XYapp");
TestStack.White.Application app = TestStack.White.Application.Attach(process[0].Id);
TestStack.White.UIItems.WindowItems.Window window = app.GetWindow("XYwindowName", TestStack.White.Factory.InitializeOption.NoCache);
TestStack.White.UIItems.Panel panel = window.Get<TestStack.White.UIItems.Panel>(TestStack.White.UIItems.Finders.SearchCriteria.ByText("Login"));
panel.Click();
...
}
XY應用程序主窗口有10多個面板,其中之一是“登錄”面板。 當我單擊button1時,XY應用程序的“登錄”面板將可見,因此可以正常工作。
但是我的WinForms應用程序死機了,當我關閉XY程序但我想進一步運行時,我又重新獲得了控件。
在調試模式下,將顯示以下錯誤消息:“托管調試助手'DisconnectedContext':'為此RuntimeCallableWrapper轉換為COM上下文0x15305d0失敗...”
我想我理解為什么收到此消息,但是我不知道解決方案是什么。
有人可以幫我嗎? 謝謝
對於這個愚蠢的問題,我感到抱歉,解決方案只是創建一個新線程。
https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-threading
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.