我想从我的 Visual Studio 代码中打开 Windows 事件查看器,但是当我尝试使用 windows 目录打开它时,它给我一个错误(下面的目录和错误的屏幕截图)。
我之前在自动测试时打开了应用程序,但是这些应用程序是由我制作的,因此很容易将其定向到我的本地项目。但是,当我尝试使用 Windows 事件查看器执行此操作时,它会给我一个错误。
项目配置使用单元测试项目 (.NET Framework) 和 NUnit、Selenium 和 TestStackWhite 扩展。
基本上,我需要在事件查看器中为记录的事件创建测试用例,这是我的一位团队成员为我们的软件制作的新功能。
错误消息是- [1]:https ://i.stack.imgur.com/ith7u.png
并且其背后的代码分为三个类——Constants.cs(Constants class)
namespace RemoteLoggingTests
{
static class Constants
{
//App details
public const string APP_DIR = @"C:\WINDOWS\system32\eventvwr\";
public const string EXE_NAME = "eventvwr.exe";
public const string WINDOW_NAME = "Event Viewer";
public const string APP_NAME = "Event Viewer";
TestSetup.cs(安装类)
using System;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
namespace RemoteLoggingTests
{
public partial class TestSetup
{
private bool appRunning = false;
/// <summary>
/// Start of whole test
/// </summary>
[OneTimeSetUp]
public void FixtureSetup()
{
//Open the Event Viewer
TestHelper.OpenApp();
appRunning = true;
}
/// <summary>
/// End of whole test
/// </summary>
[OneTimeTearDown]
public void FixtureTearDown()
{
//Close the Event Viewer
if (appRunning)
{
TestHelper.CloseApp();
appRunning = false;
}
}
最后是 TestHelper.cs(打开/关闭应用程序的子类)
using System;
using System.Collections.Generic;
using System.IO;
using TestStack.White;
using TestStack.White.Factory;
using TestStack.White.UIItems;
using TestStack.White.UIItems.Finders;
using TestStack.White.UIItems.ListBoxItems;
using TestStack.White.UIItems.MenuItems;
using TestStack.White.UIItems.WindowItems;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace RemoteLoggingTests
{
public static class TestHelper
{
/// <summary>
/// Launches the Event Viewer application.
/// </summary>
public static void OpenApp()
{
string applicationDirectory = Constants.APP_DIR;
string applicationPath = Path.Combine(applicationDirectory, Constants.EXE_NAME);
//Opens the app
Application.Launch(applicationPath);
}
我希望这些信息足以让有人找到并告诉我如何修复此错误,它适用于本地应用程序,但在我的情况下打开 Windows 应用程序(如事件查看器)时却不行。