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

XPath-查找属性的值,稍后用于验证quantity-Page对象框架

宗弘扬
2023-03-14

我的要求是检查添加到购物车的数量是否匹配Test类中的1。

我使用了下面的xpath,但这会抛出“NoSuchElementException”

请您帮助我定位元素,然后使用属性值并验证它是否与1匹配。

我已经创建了一个页面-

公共类CartPage扩展BasePage{

@FindBy(xpath="//tr/td[contains(.,\" Funny Cow\")]/td[3]/input/@value") //NoSuchElementException thrown for this line
public WebElement funnyCowCart;

@FindBy(xpath="//tr/td[contains(.,\" Fluffy Bunny\")]/td[3]/input/@value")
public WebElement fluffyBunnyCart;

@FindBy(xpath="//a[@href=\"#/checkout\"]")
public WebElement checkOut;

稍后在测试类中,我想验证数量是1。

    String funnyCowQty = cart.funnyCowCart.getAttribute("value");
    
    softAssert.assertTrue(funnyCowQty == "1","Funny Cow Quantity mismatch");

共有1个答案

澹台华采
2023-03-14

谢谢@lmc我能够得到我正在寻找的属性的值

在Page类中,我使用下面的xpath来定位元素@FindBy(xpath=“//div[contains(,“fully Cow”)]/p/a”)公共WebElement funnyCowBuy;

在Test类中,我使用下面的方法来提取值-这给了我数量String fuffyBunnyQty=cart.fluffyBunnyCart.get属性(“值”);XPath:从子节点获取父节点

 类似资料:
  • 问题内容: 我是xpath的新手,尝试使用xpath获取“值”的值: 虽然很容易找到像这样的元素: 我还无法弄清楚如何获得所需的值,例如: 某些预期会产生错误: 任何想法如何解决这个问题? 编辑:xpath是正确的,但是它“返回”了obj属性,并且由于它不是元素,因此不允许使用。我找不到类似get_attr_by_xpath()之类的方法。 问题答案: 我最终用作:

  • 我是xpath的新手,试图使用xpath获取“value”的值: 虽然通过很容易找到元素,但如下所示: 我还没能弄清楚如何获得我需要的值,因为: 有点意外地给出了一个错误: 有什么办法解决这个问题吗? 编辑:xpath是正确的,但它“返回”一个obj属性,因为它不是元素,所以不允许使用。我找不到像get_attr_by_xpath()这样的方法,或者任何类似的方法。

  • 假设我有以下课程: 是否可以通过“MyProduct”类验证“code”属性?比如:

  • 但我知道它总会有一个独特的对象。我们是否可以做一些事情来代替,这样我可以直接获得实际的对象,而不是获取对象列表。

  • 给定此html: 使用xpath很容易获得输入元素的句柄。类似于: 但如果原始html如下所示: 如果你在浏览器中查看,它仍然有“我的文本”——因为这是用javascript添加的,如下所示: 在fiddle中,您可以看到输入字段中有单词“my text”,但没有value属性:https://jsfiddle.net/justinwyllie/5dsxa8mc/ 如何选择此元素?只有xpath-

  • 我正在寻找一个好的方法或框架,帮助我验证一个对象的属性。我从另一个库中获取对象,因此不能更改对象本身的任何内容。 null