相关疑难解决方法(0)

在Python中改变单元测试的顺序

我怎样才能使Python(使用unittest)中的单元测试按照文件中指定的顺序运行?

python unit-testing

32
推荐指数
3
解决办法
1万
查看次数

为什么我的测试在一起运行时失败,但是单独传递?

当我在Visual Studio中编写测试时,我通过在Nunit中保存,构建然后运行测试来检查它是否有效(右键单击测试然后运行).

测试工作正常...所以我继续......

现在我已经编写了另一个测试,它可以像我上面保存和测试一样工作.但是,当它们一起运行时,它们不起作用.

以下是我的两个测试,这些测试在作为个体运行时有效但在一起运行时失败:

using System;
using NUnit.Framework;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium;

namespace Fixtures.Users.Page1
{
    [TestFixture]
    public class AdminNavigateToPage1 : SeleniumTestBase
    {
        [Test]
        public void AdminNavigateToPage1()
        {
            NavigateTo<LogonPage>().LogonAsCustomerAdministrator();
            NavigateTo<Page1>();
            var headerelement = Driver.FindElement(By.ClassName("header"));

            Assert.That(headerelement.Text, Is.EqualTo("Page Title"));
            Assert.That(Driver.Url, Is.EqualTo("http://localhost/Page Title"));
        }

        [Test]
        public void AdminNavigateToPage1ViaMenu()
        {
            NavigateTo<LogonPage>().LogonAsCustomerAdministrator();
            Driver.FindElement(By.Id("menuitem1")).Click();
            Driver.FindElement(By.Id("submenuitem4")).Click();
            var headerelement = Driver.FindElement(By.ClassName("header"));

            Assert.That(headerelement.Text, Is.EqualTo("Page Title"));
            Assert.That(Driver.Url, Is.EqualTo("http://localhost/Page Title"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当第二次测试失败时,因为它们一起运行

Nunit介绍了这个:

Sse.Bec.Web.Tests.Fixtures.ManageSitesAndUsers.ChangeOfPremises.AdminNavigateToChangeOfPremises.AdminNavigateToPageChangeOfPremisesViaMenu:OpenQA.Selenium.NoSuchElementException:找不到元素

这一行突出显示:

var headerelement = Driver.FindElement(By.ClassName("header"));
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么我的代码在一起运行时失败,但在单独运行时通过?

任何答案将不胜感激!

c# selenium-ide visual-studio-2010 nunit-2.5

18
推荐指数
2
解决办法
2万
查看次数