Selenium webdriver 如何使用SeleniumWebDriver(java)验证按钮是否已更改

Selenium webdriver 如何使用SeleniumWebDriver(java)验证按钮是否已更改,selenium-webdriver,Selenium Webdriver,我试图用web驱动程序验证,当我单击按钮“添加到购物车”时,它会变为另一个按钮“从购物车中删除”。页面上所有带有“添加到购物车”和“从购物车中删除”按钮的项目都有相同的代码(我相信这才是真正让我讨厌的) 添加到购物车中 class=“tg-button tg-button--large ng binding”ng click=“toggleDeviceToShoppingCart(deviceCatalogItem)”ng class=“{'tg-button--primary':!Device

我试图用web驱动程序验证,当我单击按钮“添加到购物车”时,它会变为另一个按钮“从购物车中删除”。页面上所有带有“添加到购物车”和“从购物车中删除”按钮的项目都有相同的代码(我相信这才是真正让我讨厌的)

添加到购物车中 class=“tg-button tg-button--large ng binding”ng click=“toggleDeviceToShoppingCart(deviceCatalogItem)”ng class=“{'tg-button--primary':!DeviceInCart(deviceCatalogItem)}”>从购物车中删除
关于如何验证按钮确实已更改的任何建议

两者并不完全相同

第一种解决方案:
添加到购物车
按钮具有类属性,而
从购物车中删除
按钮没有-
tg按钮--primary

WebElement button = driver.findElement(By.cssSelector(".tg-button.tg-button--large.ng-binding")); // get the button
String classAttributes = button.getAttribute("class"); // get the class attribute
if (classAttributes.contains("tg-button--primary")) {
    // "Add to Cart" button
}
else {
    // "Remove from Cart" button
}
第二种解决方案:按钮的文本不同

WebElement button = driver.findElement(By.cssSelector(".tg-button.tg-button--large.ng-binding")); // get the button
String text = button.getText(); // get the text
if (text.contains("Add to Cart")) {
    // "Add to Cart" button
}
else {
    // "Remove from Cart" button
}
试试看:

findElement(by.cssSelector("Your selector here"))
    .getAttribute("class")
    .contains("tg-button--primary");
如果为true,则为firs按钮。如果为false,则为第二个。
我希望语法是正确的,我只使用C#

在Selenium中编程,谢谢你,第二个解决方案帮了我的忙,我添加的唯一东西是bool(之前)和assert(之后)来完成我的任务。
findElement(by.cssSelector("Your selector here"))
    .getAttribute("class")
    .contains("tg-button--primary");