Имя типа C# не существует в типе. Открытый метод не отображается

Я новичок в C# и для моего первого проекта я пытаюсь автоматизировать некоторые задачи с помощью веб-интерфейса.

Мое понимание публичных классов и методов в C# заключается в том, что они должны быть видны остальной части проекта, над которым я работаю, но в данном случае это не так.

Я получаю ошибку «имя типа’ ClearAllUnraisedAlerts ‘не существует в типе’ ClearAlerts'», и я надеюсь, что кто-то может сказать мне, какое ложное предположение или ошибку новичка я делаю здесь.

моя программа.cs is

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ManagedWorkspaceAutomator
{
    class Program
    {
        static void Main(string[] args)
        {
            AutomationFunctions.AlertsBoard.ClearAlerts test = new AutomationFunctions.AlertsBoard.ClearAlerts.ClearAllUnraisedAlerts();
        }
    }
}

Который пытается вызвать ClearAllUnraisedAlerts метод в AutomationFunctionsAlertsBoardClearAlerts.цезий

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;

namespace ManagedWorkspaceAutomator.AutomationFunctions.AlertsBoard
{
    public class ClearAlerts
    {
        private IWebDriver _driver;

        public void ClearAllUnraisedAlerts()
        {
            _driver = new OpenQA.Selenium.Firefox.FirefoxDriver();

            PageModels.LoginPage login = new PageModels.LoginPage(_driver);

            login.EnterUsername = "testuser";
            login.EnterPassword = "testpass";
            login.ClickLogin();

        }
    }
}

Для полноты, это моя pagemodel, в PageModelsLoginPage.цезий

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;

namespace ManagedWorkspaceAutomator.PageModels
{
    public class LoginPage
    {
        protected readonly IWebDriver WebDriver;

        public LoginPage(IWebDriver webdriver)
        {
            this.WebDriver = webdriver;
            string title = WebDriver.Title;

            if(!title.Equals("Managed Workspace Login"))
            {
                throw new InvalidOperationException("This is not the Login Page. Current page is: " + title);
            }

        }

        /*
          A property to enter username on login page
        */
        public string EnterUsername
        {
            set
            {
                IWebElement usernameField = WebDriver.FindElement(By.Id("txbUserName"));
                usernameField.Clear();
                usernameField.SendKeys(value);
            }
        }

        /*
          A property to enter password on login page
        */

        public string EnterPassword
        {
            set
            {
                IWebElement passwordField = WebDriver.FindElement(By.Id("txbPassword"));
                passwordField.Clear();
                passwordField.SendKeys(value);
            }
        }

        /*
          A method to click the login button on the page 
        */

        public void ClickLogin()
        {
            IWebElement loginButton = WebDriver.FindElement(By.Id("SubmitB"));
            loginButton.Click();
        }
    }
}

1 ответ

  1. Способ инициализации объекта неправильный. Пожалуйста, сделайте это

    AutomationFunctions.AlertsBoard.ClearAlerts test = new ManagedWorkspaceAutomator.AutomationFunctions.AlertsBoard.ClearAlerts();
    test.ClearAllUnraisedAlerts();