【问题标题】:Not able to execute Second Test Method in Nunit selinium无法在 Junit selenium 中执行第二种测试方法
【发布时间】:2015-12-11 18:21:41
【问题描述】:

我正在使用 Selinium webdriver、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");
        }
    }
}

堆栈跟踪

est 名称:AddHazard 测试全名:Nunit2.SeleniumTest.AddHazard 测试来源:C:\Users\Anuradh Vanguri\Documents\Visual Studio 2015\Projects\Nunit2\Nunit2\Class1.cs:第 72 行 测试结果:失败 测试时间:0:00:38.151

结果堆栈跟踪:
在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs:line 154 中的 OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest 请求) 在 OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute) 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs:line 114 在 OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\DriverServiceCommandExecutor.cs:line 78 在 OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 参数) 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 910 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 954 中的 OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(字符串机制,字符串值) 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 700 中的 OpenQA.Selenium.Remote.RemoteWebDriver.FindElementByXPath(String xpath) 在 OpenQA.Selenium.By.c__DisplayClasse.b__c(ISearchContext context) 在 c:\Projects\webdriver\dotnet\src\webdriver\By.cs:line 167 在 c:\Projects\webdriver\dotnet\src\webdriver\By.cs:line 309 中的 OpenQA.Selenium.By.FindElement(ISearchContext context) 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 330 中的 OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by) 在 C:\Users\Anuradh Vanguri\Documents\Visual Studio 2015\Projects\Nunit2\Nunit2\Class1.cs:line 74 中的 Nunit2.SeleniumTest.AddHazard() --WebException 在 System.Net.HttpWebRequest.GetResponse() 在 c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs:line 141 中的 OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest 请求) --IO异常 在 System.Net.Sockets.NetworkStream.Read(字节 [] 缓冲区,Int32 偏移量,Int32 大小) 在 System.Net.PooledStream.Read(字节 [] 缓冲区,Int32 偏移量,Int32 大小) 在 System.Net.Connection.SyncRead(HttpWebRequest 请求,布尔 userRetrievedStream,布尔 probeRead) --套接字异常 在 System.Net.Sockets.Socket.Receive(Byte[] 缓冲区,Int32 偏移量,Int32 大小,SocketFlags socketFlags) 在 System.Net.Sockets.NetworkStream.Read(字节 [] 缓冲区,Int32 偏移量,Int32 大小) 结果消息: OpenQA.Selenium.WebDriverException:向远程 WebDriver 服务器发送 HTTP 请求以获取 URL http://localhost:61917/session/a992c864-0c93-45dc-bec8-0d74e68ecceb/element,引发了具有空响应的异常。异常状态为 ReceiveFailure,消息为:底层连接已关闭:接收时发生意外错误。 ----> System.Net.WebException:底层连接已关闭:接收时发生意外错误。 ----> System.IO.IOException : Unable to read data from the transport connection: 一个现有的连接被远程主机强行关闭。 ----> System.Net.Sockets.SocketException : 现有连接被远程主机强行关闭

【问题讨论】:

    标签: selenium selenium-webdriver nunit


    【解决方案1】:

    [TestFixture] 需要一个公共类

     [TestFixture]
     public class SeleniumTest
    

    From Nunit's documentation

    【讨论】:

      【解决方案2】:

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

      看这个话题,讨论一些IE问题: Selenium error: No response from server for url http://localhost:7055

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-28
        相关资源
        最近更新 更多