C# 白色测试-文件夹浏览器对话框
我无法获取白色的FolderBrowserDialog。我认为它应该被指定为模态窗口,但它不是 DialogService.cs中的FolderBrowser对话框:C# 白色测试-文件夹浏览器对话框,c#,wpf,testing,white-framework,C#,Wpf,Testing,White Framework,我无法获取白色的FolderBrowserDialog。我认为它应该被指定为模态窗口,但它不是 DialogService.cs中的FolderBrowser对话框: public FolderBrowserResult ShowFolderbrowserDialog(string storageFolder) { var dialog = new FolderBrowserDialog { Desc
public FolderBrowserResult ShowFolderbrowserDialog(string storageFolder)
{
var dialog = new FolderBrowserDialog
{
Description = storageFolder
};
var result = new FolderBrowserResult
{
Result = dialog.ShowDialog() != DialogResult.OK,
Path = dialog.SelectedPath
};
return result;
}
单击“浏览”按钮后调用的方法:
private void OnBrowseForTargetFolder(object sender, RoutedEventArgs e)
{
var result = dialogService.ShowFolderbrowserDialog(Properties.Resources.StorageFolder);
if (result.Result) return;
Project.PathToStorage = result.Path;
completePath = string.Format("{0}\\{1}", result.Path, Guid.NewGuid());
Directory.CreateDirectory(completePath);
}
测试:
公共类日志测试
{
私人申请;
私有主窗口页面主窗口页面;
[测试初始化]
public void TestInitialize()
{
application=application.Launch(@“PML.exe”);
startBlonkApplication();
}
[测试方法]
public void StartExistingProject()
{
mainWindowPage.StartExistingProjectButton.Click();
var modalWindows=新列表();
重试。对于(()=>
{
modalWindows=mainWindowPage.applicationWindow.modalWindows();
}时间跨度从秒(5)开始;
var mod=modalWindows;
}
private MainWindowPage StartBlank应用程序()
{
var appWindow=application.GetWindow(“PML”);
mainWindowPage=新的mainWindowPage(appWindow);
返回主窗口页面;
}
私有NewProjectConfigurationPage ConfigureBlankProject()
{
Window secondAppWindow=null;
重试。对于(()=>
{
secondAppWindow=application.GetWindow(“PML”);
}时间跨度从秒(5)开始;
var newProjectConfiguration=newnewprojectconfigurationpage(secondAppWindow);
newProjectConfiguration.VesselName.Text=“测试”;
newProjectConfiguration.BrowseButton.Click();
返回newProjectConfiguration;
}
}
在StartExistingProject方法中,变量mod为空的问题。并且没有打开FolderBrowser对话框。但当我正常运行应用程序时,一切都正常运行 已解决-必须将所有者设置为模态对话框。所以
var wrapper = new WindowWrapper(this);
dialog.ShowDialog(wrapper)
解决了我的问题
var wrapper = new WindowWrapper(this);
dialog.ShowDialog(wrapper)