簡體   English   中英

同時在Windows窗體中運行的多個測試

[英]Multiple Tests running in windows forms simultaneously

我有一個使用Selenium測試套件在Windows窗體/ C#中構建的測試應用程序。 該程序通過打開帶有測試對象的表單,然后執行測試並在表單中顯示結果來工作。 所有這些都有效,但是出於可伸縮性的目的,我想同時運行多個測試。 現在,我以自己的形式打開每個測試,但是一旦啟動,所有其他表單都將被鎖定,直到第一個表單完成后才開始進行測試。 有沒有一種方法可以在自己的線程上啟動每個表單,以便它們可以同時運行?

我已經復制了實例化不同測試表單的相關塊。 每個表格都有其自己的“開始”按鈕以啟動測試...

    foreach (ITest test in mastertestlist)
        {
            ResultsForm results = new ResultsForm();
            results.test = test;
            results.Show();
        }

您不希望有多個UI線程(每個擁有自己的線程的Form都需要這樣做)。 這只是一個巨大的頭痛,將使該程序真的很難使用。

而是繼續使用單個UI線程,但是當您單擊表單開始按鈕時,不要在UI線程內進行實際的測試/業務工作。 讓每個表單都確保其所做的測試工作是在后台線程中執行的。 一種簡單的方法是使用BackgroundWorker (還有許多其他可能的技術。)然后,您可以使用單個UI線程根據測試結果處理所有UI更新的編組,同時仍在后台線程中進行長期運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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