Gra*_*ave 18 c# selenium-ide visual-studio-2010 nunit-2.5
当我在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)
有没有人知道为什么我的代码在一起运行时失败,但在单独运行时通过?
任何答案将不胜感激!
use*_*932 10
这种情况通常发生在单元测试以某种方式使用共享资源/数据时。
您可以尝试两件事
将断点放在以下两行之间。当第二行被点击时,看看你在哪个页面
通过 Thread.Sleep 在这两行之间引入轻微的延迟
Driver.FindElement(By.Id("submenuitem4")).Click();
var headerelement = Driver.FindElement(By.ClassName("header"));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15257 次 |
最近记录: |