簡體   English   中英

TestStack.White面板單擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM