0

我想从我的 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 应用程序(如事件查看器)时却不行。

4

1 回答 1

0

好吧,我的坏。我发现了问题所在。目录放错了,所以在用-替换当前目录后它就可以工作了

@"C:\WINDOWS\system32\";
于 2021-10-19T15:04:25.500 回答