Почему я получаю сообщение об ошибке, локальный или параметрный результат не может быть объявлен этой областью? - PullRequest
0 голосов
/ 26 сентября 2019

Почему мои переменные не могут быть указаны в условном выражении?

        [TestMethod]
        [TestCategory("UserMgt")]
        public void CompleteRegProcessPass_dom(string role, string emailID, string[] fleetNames)
        {
            //is emailID registered if not register

            var blobClient = new AzureStorageBlobClient(AzureStorageBlobClient);
            _regRep.btnAddUser.Click();
            FilterUserTableByEmail(emailID);
            if (FilterUserTableByEmail(emailID) == true)
            {
                //No need to register
            }
            else
            {
                //must register
                objCommon.EnterText(_regRep.firstNameAdd, userName);
                objCommon.EnterText(_regRep.lastNameAdd, "Smithy");
                objCommon.EnterText(_regRep.userEmailAdd, emailID);
                objCommon.EnterText(_regRep.userTelephoneAdd, "12345678901");
                objCommon.Exists(_regRep.userRoleManager(role), 10);
                objCommon.ScrollInToViewAndClick(_regRep.userRoleManager(role));
                //objCommon.Exists(_regRep.chooseFleet, 5);
                for (int i = 0; i < fleetNames.Count(); i++)
                {
                    objCommon.ScrollInToViewAndClick(_regRep.chooseFleet(fleetNames[i]));
                }


                objCommon.Click(_regRep.btnSaveUser);
                System.Threading.Thread.Sleep(1000);


                FilterUserTableByEmail(emailID);



                var **result** = WaitForBlobEmail(blobClient, "complete-registration", $"{emailID}.json");
                Assert.IsNotNull(result, "Failed to retrieve json message from complete-registration blob");

                objCommon.HoverAndClick(_regRep.UserIcon, _regRep.LogOutLink, driver);
                System.Threading.Thread.Sleep(2000);
                driver.Navigate().GoToUrl(result.TokenUrl);
                System.Threading.Thread.Sleep(2000);
                Actions **builder** = new Actions(driver);
                builder.MoveToElement(driver.FindElement(By.XPath("//div[@class='vt-login-page__footer']/span"))).Click().Build().Perform();


                System.Threading.Thread.Sleep(2000);
                driver.FindElement(By.Id("email")).SendKeys(emailID);
                driver.FindElement(By.XPath("//input[@id='newPassword']")).SendKeys("cy!NbZtnzAs4T&");
                driver.FindElement(By.XPath("//input[@id='confirmPassword']")).SendKeys("cy!NbZtnzAs4T&");
                driver.FindElement(By.XPath("//button[text()='Set Password']")).Click();
                if (driver.FindElement(By.XPath("//h1[text()='Complete Registration...']")).Displayed)
                {
                    Assert.IsTrue(driver.FindElement(By.XPath("//h1[text()='Complete Registration...']")).Displayed == true);

                }
                else
                {
                    Console.WriteLine("Registration completed successfully.");

                }
            }

            objCommon.EnterText(_regRep.firstNameAdd, userName);
            objCommon.EnterText(_regRep.lastNameAdd, "Smithy");
            objCommon.EnterText(_regRep.userEmailAdd, emailID);
            objCommon.EnterText(_regRep.userTelephoneAdd, "12345678901");
            objCommon.Exists(_regRep.userRoleManager(role), 10);
            objCommon.ScrollInToViewAndClick(_regRep.userRoleManager(role));
            //objCommon.Exists(_regRep.chooseFleet, 5);
            for (int i = 0; i < fleetNames.Count(); i++)
            { 
              objCommon.ScrollInToViewAndClick(_regRep.chooseFleet(fleetNames[i]));
            }


            objCommon.Click(_regRep.btnSaveUser);
            System.Threading.Thread.Sleep(1000);


            FilterUserTableByEmail(emailID);



            var result = WaitForBlobEmail(blobClient, "complete-registration", $"{emailID}.json");
            Assert.IsNotNull(result, "Failed to retrieve json message from complete-registration blob");

            objCommon.HoverAndClick(_regRep.UserIcon, _regRep.LogOutLink, driver);
            System.Threading.Thread.Sleep(2000);
            driver.Navigate().GoToUrl(result.TokenUrl);
            System.Threading.Thread.Sleep(2000);
            Actions builder = new Actions(driver);
            builder.MoveToElement(driver.FindElement(By.XPath("//div[@class='vt-login-page__footer']/span"))).Click().Build().Perform();


            System.Threading.Thread.Sleep(2000);
            driver.FindElement(By.Id("email")).SendKeys(emailID);
            driver.FindElement(By.XPath("//input[@id='newPassword']")).SendKeys("cy!NbZtnzAs4T&");
            driver.FindElement(By.XPath("//input[@id='confirmPassword']")).SendKeys("cy!NbZtnzAs4T&");
            driver.FindElement(By.XPath("//button[text()='Set Password']")).Click();
            if (driver.FindElement(By.XPath("//h1[text()='Complete Registration...']")).Displayed)
            {
                Assert.IsTrue(driver.FindElement(By.XPath("//h1[text()='Complete Registration...']")).Displayed == true);

            }
            else
            {
                Console.WriteLine("Registration completed successfully.");

            }

Ключевое слово Builder и ключевое слово result дают мне одинаковую ошибку:

Результат локального или имени параметра 'result'не может быть объявлено в этой области, потому что это имя используется во внешней локальной области для определения локального или параметра.В этом случае я получаю одно и то же сообщение для result и builder в моем операторе if / else?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...