2016-03-03 30 views
0

我想与网络驱动程序验证当我点击按钮“添加到购物车”,它更改为其他按钮“从大车”。网页上的所有项目与添加到购物车和购物车按钮删除,具有相同的代码(我相信这是真的什么扔我了)我如何验证一个按钮已经改变使用硒webdriver(java)

<button> class="tg-button tg-button--large ng-binding tg-button--primary" ng-click="toggleDeviceToShoppingCart(deviceCatalogItem)" ng-class="{'tg-button--primary': !deviceIsInCart(deviceCatalogItem)}">Add to Cart</button> 

<button> class="tg-button tg-button--large ng-binding" ng-click="toggleDeviceToShoppingCart(deviceCatalogItem)" ng-class="{'tg-button--primary': !deviceIsInCart(deviceCatalogItem)}">Remove from Cart</button> 

如何验证按钮确实变了任何建议。

回答

0

不完全一样。

解决方案一:Add to Cart按钮具有class属性Remove from Cart按钮没有 - tg-button--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 
} 
+0

谢谢Guy,第二个解决方案为我做了诀窍,我添加的唯一一个是bool(之前)和assert(之后)完成我的任务。 – Norstorin

0

试试:

findElement(by.cssSelector("Your selector here")) 
    .getAttribute("class") 
    .contains("tg-button--primary"); 

如果属实,是冷杉对接上。如果是假的,是第二个。 我希望语法是正确的,我只使用C#在Selenium中编程使用C#

相关问题