如何使用selenium webdriver在购物车中验证多个添加的产品是相同的

时间:2016-03-14 12:51:43

标签: selenium-webdriver

我想验证购物车中的多个添加产品是否与产品页面中的所选产品相同。就像我在图像中所示 我正在使用http://organicgarden.co.in

enter image description here

我已经尝试过以下方法从购物车中获取产品名称。但是element.size()计数出错了。即使购物车中有5个产品,它也会出现2个

    public class VerifyShoppingCart {

   public static void sleep(final long millis) {
        System.out.println((String.format("sleeping %d ms", millis)));
        try {
            Thread.sleep(millis);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }
    }
    public static void main(String[] args) throws IOException
    {

    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    // Enter Url
    driver.get("http://www.organicgarden.co.in");
    driver.manage().window().maximize();
    sleep(20000);
    driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_UpdatePanel2']/div/div/ul/li[1]/div/a[1]")).click();
    sleep(20000);
    driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_UpdatePanel3']/div/div/ul/li[1]/div/a[1]")).click();
    sleep(10000);
    driver.findElement(By.xpath(".//*[@id='ctl00_ContentPlaceHolder1_UpdatePanel3']/div/div/ul/li[4]/div/a[1]")).click();
    sleep(20000);
    driver.findElement(By.cssSelector(".cartP")).click();
    sleep(1000);

    List<WebElement> element = driver.findElements(By.cssSelector(".rollbar-content"));

    System.out.println("element.size : "+element.size());
    for(WebElement ele:element)
    {

        System.out.println( "............"+ele.getText());


    }

    }
    }

2 个答案:

答案 0 :(得分:0)

如果您使用的是TestNG或Junit,那么您可以进行断言

请参阅下面的TestNG链接: -

http://www.seleniumeasy.com/testng-tutorials/assertions-in-testng

http://software-testing-tutorials-automation.blogspot.in/2014/03/assertassertequals-testng-with-selenium.html

请参阅以下JUnit链接: -

http://www.tutorialspoint.com/junit/junit_using_assertion.htm

如果你没有使用任何一个,那么你需要使用像

这样的条件
if(string1.equalsIgnoreCase(string2))
{
    System.out.println("Equal");
}
else
{
    System.out.println("Not Equal");
}

希望它会对你有所帮助:)。

答案 1 :(得分:0)

假设您已经设置了所有测试,但需要验证购物车中是否存在这些项目。您可以尝试使用XPATH从购物车中搜索这些项目,例如:

.//*[text()="Potato 5 KG (Bulk)"]

或者使用你的selenium驱动程序获取所有购物车元素,并通过查看他们的innerHTML等来验证他们的内容。

编辑:查看网站,您的选择器似乎不正确。试试这个:

driver.findElements(By.cssSelector(".simpleCart_items label"));