Câu hỏi nhanh cho bạn ... Khi tôi viết một thử nghiệm trong Visual Studio, tôi kiểm tra xem nó hoạt động bằng cách lưu, xây dựng và sau đó chạy thử nghiệm trong Nunit (bấm chuột phải vào sau đó chạy thử nghiệm).Thử nghiệm của tôi thất bại khi chạy cùng nhau, nhưng vượt qua từng câu
thử nghiệm này hoạt động yay ... vì vậy tôi di chuyển trên ...
Bây giờ tôi đã viết bài kiểm tra khác và nó hoạt động như tôi đã lưu và thử nghiệm nó như trên. Nhưng, chúng không hoạt động khi chúng được chạy cùng nhau.
Dưới đây là hai bài kiểm tra của tôi mà làm việc khi chạy như cá nhân nhưng thất bại khi chạy với nhau:
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"));
}
}
}
Khi thử nghiệm thứ hai thất bại bởi vì họ đã được chạy cùng
Nunit trình bày này:
Sse.Bec.Web.Tests.Fixtures.ManageSitesAndUsers.ChangeOfPremises.AdminNavigateToChangeOfPremises.AdminNavigateToPageChangeOfPremisesV iaMenu: OpenQA.Selenium.NoSuchElementException: Yếu tố không thể tìm được
Và dòng này được đánh dấu:
var headerelement = Driver.FindElement(By.ClassName("header"));
Có ai biết tại sao mã của tôi thất bại khi chạy với nhau, nhưng đi khi chạy một mình?
Bất kỳ câu trả lời nào sẽ được đánh giá rất nhiều!
Bạn có chắc các bài kiểm tra không chia sẻ trạng thái không? Trình duyệt có đóng cửa và mở lại giữa các thử nghiệm không? Thử nghiệm nào không thành công khi chúng chạy cùng nhau? Làm cả hai thất bại, hoặc không vượt qua, và một thất bại? –
Trình duyệt đóng cửa và cửa sổ lệnh .. chúng mở lại để xử lý kiểm tra sau ... Thử nghiệm đầu tiên của nó vượt qua rồi tất cả các kiểm tra sau thường thất bại và chúng không thành công vì lý do tương tự được đăng ở trên. –
Không giúp câu hỏi cụ thể của bạn, nhưng hãy kiểm tra http://www.ncrunch.net/, nó chạy thử nghiệm của bạn trong nền. Loại bỏ toàn bộ "tiết kiệm, xây dựng và sau đó chạy thử nghiệm" rắc rối. –