簡體   English   中英

如何使用TestStack.White以編程方式向文件組合框添加值以實現自動化

[英]How to programmatically add a value to a file combo box for automation using TestStack.White

我正在嘗試使C#應用程序自動化,其中包括在打開的文件對話框中選擇一個文件。 窗口打開后,我可以獲取必要的UI元素(組合框),但無法將值設置為所需的文件名。

我相信這是因為組合框在開始時是空的(即,我從未手動使用此功能並選擇了文件,因此它沒有存儲在組合框中)。 有沒有一種方法可以在選擇之前以編程方式將其添加到組合框? 這是我當前的代碼:

var fileUploadWindow = Program.application.GetWindows().Where(win => ((win.Name == ("File Upload Directory")))).FirstOrDefault();
var fileNameComboBox = fileUploadWindow.Get<ComboBox>(SearchCriteria.ByAutomationId("fileComboBox"));
fileNameComboBox.SetValue(fileName);
var openButton = fileUploadWindow.Get<Button>(SearchCriteria.ByAutomationId("openButton"));
openButton.Click();

使用此方法,當我調用SetValue()函數時,會收到錯誤消息:

Item of text 'fileName' not found.

如何檢查文件名是否在組合框中,如果沒有,則將其插入?

我希望(如果可能)在自動化中進行處理,而不必更改應用程序本身。 我還希望能夠直接將文本插入組合框,而不是自動執行文件選擇器。

我找到了解決方案。

事實證明,可編輯的組合框也可以作為文本框檢索。 因此,我要做的就是更改兩行代碼:

var fileNameTextBox = fileUploadWindow.Get<TextBox>(SearchCriteria.ByAutomationId("fileComboBox"));
fileNameTextBox.Text = fileName;

暫無
暫無

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

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