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

intellij理念中出现Selenium断言错误

都才俊
2023-03-14
package Ecommerce;

import org.omg.CORBA.TIMEOUT;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import static org.testng.Assert.assertEquals;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.concurrent.TimeUnit;

/*This is my Code
 * www.github.com/jashangunike
 * Author-Jashandeep Singh */

public class TC03 {

    static public WebDriver driver = null;
    public String baseUrl = "http://live.guru99.com/index.php/";

    @Test
    public void TestCase3() {

        driver.navigate().to(baseUrl);

        //Click on mobile link
        driver.findElement(By.xpath("//a[@href='http://live.guru99.com/index.php/mobile.html']")).click();
        //Click on Add to cart
        driver.findElement(By.xpath("//*[@id=\"top\"]/body/div/div/div[2]/div/div[2]/div[1]/div[3]/ul/li[1]/div/div[3]/button/span/span")).click();
        // Click on Qty Box
        driver.findElement(By.xpath("//*[@id=\"shopping-cart-table\"]/tbody/tr/td[4]/input")).click();
        // Clear
        driver.findElement(By.xpath("//*[@id=\"shopping-cart-table\"]/tbody/tr/td[4]/input")).clear();
        // put 1000 units
        driver.findElement(By.xpath("//*[@id=\"shopping-cart-table\"]/tbody/tr/td[4]/input")).sendKeys("1000");
        // Click on Update button
        driver.findElement(By.xpath("//*[@id=\"shopping-cart-table\"]/tbody/tr/td[4]/button/span/span")).click();

        // Verification of error message
        String ExpectedMSG = "* The maximum quantity allowed for purchase is 500. ";
        String ActualMSG = driver.findElement(By.xpath("//*[@id=\"shopping-cart-table\"]/tbody/tr/td[2]/p")).getText();
        System.out.println("Actual message "+ ActualMSG);

        try {

            assertEquals(ExpectedMSG,ActualMSG);

        }
        catch (Exception e){

        e.printStackTrace();
}

        //Verifying message after emptying the cart

        driver.findElement(By.id("empty_cart_button")).click();
        String noItemsStg = ("You have no items in your shopping cart.");
        String noItemsMsg = driver.findElement(By.xpath(".//*[@id='top']/body/div[1]/div/div[2]/div/div/div[2]/p[1]")).getText();
        System.out.println("You have no items msg = " + noItemsMsg);

        try {

            assertEquals(noItemsStg,noItemsMsg);
        }

        catch(Exception ex) {
            ex.printStackTrace();

            }
    }

    @BeforeMethod
    public void BeforeMethod() {
        System.setProperty("webdriver.chrome.driver" , "H:\\software\\Selenium & Java & Components\\drivers\\chromedriverlat\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    }

    @AfterMethod
    public void AfterMethod() {
         driver.quit();
    }
}

我的第二次尝试和捕获语句不起作用。问题出在哪里?即验证空车。显示了一个结果,但没有显示另一个结果。我已经加粗显示的。

共有1个答案

郗奇玮
2023-03-14

你的测试表现得像它应该做的那样;由于在同一个测试中有多个断言,因此测试失败并在第一个断言失败时停止执行

如果您的测试包括多个断言,并且希望对所有断言进行评估,那么您可能希望在测试中使用软断言。例如。

SoftAssert softAssert = new SoftAssert();

softAssert.assertTrue(false);
softAssert.assertEquals("a", "b");

softAssert.assertAll();
 类似资料:
  • 而我不断收到消息“断言错误”。我不知道为什么。如果我将更改为它工作得很好,那么为什么它不能与getPageSource一起工作呢?

  • 当我使用IntelliJ IDEA编译Java项目时,它会给出以下输出(和错误): 我对此感到很困惑!下面是我的设置:

  • 我有问题:Win 8.1(新鲜,刚刚安装),火狐34(降级,也在38和39测试),硒2.46.0...我收到: “OpenQA”类型的未处理异常。硒。WebDriverException“”在WebDriver中发生。动态链接库 其他信息:未能在45000毫秒内启动套接字。尝试连接到以下地址:127.0.0.1:7055 你知道如何让它运行吗? 在Win7的虚拟服务器上-相同的项目运行良好...

  • 如果断言失败,我如何在TestNG中继续测试执行?如何在TestNG的HTML报告中报告失败? 当我运行以下代码时,断言后的行将被执行,但在报告中没有列出断言失败:

  • 本文向大家介绍python 实现selenium断言和验证的方法,包括了python 实现selenium断言和验证的方法的使用技巧和注意事项,需要的朋友参考一下 最近在学习自动化测试,网上资料是挺多的,但是都是很基础的,想深入一点了解就没有资料了。于是开始自己研究。 这两天在看selenium验证和断言方面的资料。 断言就是判断是否跟预期结果一致,不一致的话,测试用例直接失败,程序便不再执行下去