当前位置: 首页 > 知识库问答 >
问题:

无法在Nunit selinium中执行第二种测试方法

陆宏壮
2023-03-14

我正在使用seliniumwebdriver、Nunit框架和IE浏览器。我有下面的代码。Tt未执行第二种方法(添加危险)。我正在粘贴代码和堆栈跟踪。谁能告诉我哪里出了问题。提前谢谢。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using NUnit.Framework;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Support.UI;


namespace Nunit2
   {
    [TestFixture]
     class SeleniumTest
    {
       public IWebDriver driver;

        [TestFixtureSetUp]
         public void SetUp()
        {
            driver = new InternetExplorerDriver(@"C:\Selenium_App\IE DriverServer_32bit2.48.0");
            driver.Navigate().GoToUrl("https://testwebsite");
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(6000));
            IWebElement loginbutton = driver.FindElement(By.Id("Image2"));
            loginbutton.Click();
            System.Console.WriteLine("page title is" + driver.Title);
            driver.FindElement(By.Id("Loginlogin")).SendKeys("AutomationUser");
            driver.FindElement(By.Id("Loginpassword")).SendKeys("safety35");
            IWebElement log = driver.FindElement(By.Id("LoginButton_DoLogin"));
            log.Click();
        }
        [TestFixtureTearDown]
        public void TearDown()
        {
            driver.Quit();
            driver.Dispose();
        }
        [Test]
        public void AddAction()
        {
            //  driver.Navigate().GoToUrl("https://test.riskmanager.co.nz/");
           // driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(6000));
            //IWebElement loginbutton = driver.FindElement(By.Id("Image2"));
            //loginbutton.Click();
            //System.Console.WriteLine("page title is" + driver.Title);
            //driver.FindElement(By.Id("Loginlogin")).SendKeys("AutomationUser");
            //driver.FindElement(By.Id("Loginpassword")).SendKeys("safety35");
            //IWebElement log = driver.FindElement(By.Id("LoginButton_DoLogin"));
            //log.Click();
            //  driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1000));
            Actions action = new Actions(driver);
            IWebElement actionsMenu = driver.FindElement(By.XPath(".//div[2]/ul/li[2]/a/span[1]"));
            action.MoveToElement(actionsMenu).Build().Perform();
            driver.FindElement(By.XPath(".//div[2]/ul/li[2]/ul/li[1]/a/span")).Click();
            IWebElement actiontitle = driver.FindElement(By.Id("actrpnlActionTitleInputtitle"));
            actiontitle.SendKeys("Testaction");
            driver.FindElement(By.Id("actrpnlDateDueInputdatedue")).SendKeys("16 Nov 16");
            IWebElement element = driver.FindElement(By.Id("actrpnlReportingLineInputpnlLineDropdownlineid"));
            SelectElement select = new SelectElement(element);
            select.SelectByValue("196E");
            IWebElement PersonResponsible = driver.FindElement(By.Id("actrpnlPersonResponsibleInputempText"));
            PersonResponsible.SendKeys("a");
            IWebElement se = driver.FindElement(By.XPath(".//html/body/ul[2]/li/a"));
            se.Click();
            IWebElement Addaction = driver.FindElement(By.Id("actrButton_Insert"));
            Addaction.Click();
        }
        [Test]
        public void AddHazard()
        {
            Actions hazard = new Actions(driver);
            IWebElement hazardmenu = driver.FindElement(By.XPath(".//div[3]/ul/li[3]/a/span[1]"));
            hazard.MoveToElement(hazardmenu).Build().Perform();
            driver.FindElement(By.XPath(".//div[3]/ul/li[3]/ul/li[1]/a/span")).Click();
            System.Console.WriteLine("second test");
        }
    }
}

堆栈跟踪

美国东部时间名称:添加危害测试全名: Nunit2。SeleniumTest.Add Hazard测试源:C:\用户\Anuradh Vanguri\Documents\Visual Studio 2015\Projects\Nunit2\Nunit2\Class1.cs:第72行测试结果:失败测试持续时间:0:00:38.151

结果StackTrace:
在OpenQA。硒。遥远的HttpCommandExecutor。在c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor中创建响应(WebRequest请求)。cs:OpenQA的第154行。硒。遥远的HttpCommandExecutor。在c:\Projects\webdriver\dotnet\src\webdriver\Remote\httpcommandexecute中执行(命令commandToExecute)。cs:OpenQA的第114行。硒。遥远的DriverService命令执行器。在c:\Projects\webdriver\dotnet\src\webdriver\Remote\driverservicecommandexecute中执行(命令commandToExecute)。cs:OpenQA的第78行。硒。遥远的RemoteWebDriver。在c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver中执行(stringdrivercommandtoexecute,Dictionary`2参数)。cs:OpenQA的910行。硒。遥远的RemoteWebDriver。c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver中的FindElement(字符串机制,字符串值)。cs:OpenQA的第954行。硒。遥远的RemoteWebDriver。c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver中的findelementbypath(字符串xpath)。cs:OpenQA的第700行。硒。通过

共有2个答案

扈韬
2023-03-14

尝试在与IE驱动程序的交互之间添加超时。

看看这个主题,讨论了一些IE问题:Selenium错误:服务器没有响应urlhttp://localhost:7055

柴霖
2023-03-14

[TestFixture]需要一个公共类

 [TestFixture]
 public class SeleniumTest

来自Nunit的文档

 类似资料:
  • 我正在编写单元测试的方法,以找到银行附近我的位置。我嘲弄了这个类并尝试调用这些方法。但是,控件不会转到方法来执行它。下面是单元测试用例。 我所尝试的也是调用它的真实方法, 这调用真实的方法,但我上面嘲笑的方法执行起来就像真实的方法一样。意思是“被嘲弄的方法”没有返回我要求它们返回的内容。 那么,我在这里做错了什么?方法为什么不执行?

  • POM依赖项 测试套件。xml

  • 本地:- 我正在尝试在chrome浏览器上运行硒测试。 当前,另一个chrome浏览器正在运行,然后通过打开新配置文件在chrome browser上运行测试,并得到以下错误:- Chrome驱动配置:- 如果我关闭现有的正在运行的chrome浏览器,然后在chrome浏览器上运行硒测试,它可以工作。 詹金斯:- 当我试图在詹金斯上跑步时。我收到以下错误:- 这里的问题是什么,有人能帮我解决这个吗

  • 这是我添加的公共类NewEmptyJUnitTest的代码{ 这是pom.xml文件 我一直收到这个错误:

  • 我在Jenkins做一个terraform测试。以下是我所做的: > 已安装terraform插件 我知道它看不到地球形态,但我怎么才能让它看到呢?我用github回购来获取消息。我想为每个terraform命令做一个步骤:init、plan和apply。我怎样才能做到这是詹金斯?我找不到任何教程解释这一点。多谢了。

  • 作为测试的一部分,我想多次执行一组测试方法。< br >我使用TestNG来指定我的测试。我在testng.xml文件中指定的测试如下: 执行此测试后,我看到重复的方法没有被执行。它只执行测试直到“更改位置”。任何人都可以提出任何其他解决方案或原因,为什么这不起作用? 请注意,我不想使用不同的数据集多次执行这些方法。因此,按照我在网上找到的几篇帖子中的建议使用数据提供者对我没有帮助。因为我遵循严格