猿问

断言 true,来自两种方法的变量

网址: http: //automationpractice.com/ 登录:testingTest@gmail.com 通过:testtest


我正在尝试自动化购买衣服的过程。


问题是:


我有选项卡来完成我需要浏览每个选项卡的过程。地址|已添加产品|条款和条件| 支付方式|付款方式| 总结| 我想从“添加的产品”选项卡中获取总价,然后从摘要中获取总价,并通过 Assert True 检查它们是否相同。


@FindBy(id = "total_price")

private WebElement totalPriceOfOrder;



@FindBy(id = "total_price")

private WebElement totalPriceOfOrder;



public void checkTotalValueOfOrderInSummaryTab(){

    String orderPrice = totalPriceOfOrder.getText();

}



@FindBy(xpath = "/html/body/div/div[2]/div/div[3]/div/div/span")

private WebElement getPriceWhenOrderIsPaid;` 


public void getLastPrice(){

    String priceIsPaid = getPriceWhenOrderIsPaid.getText();

}

当我尝试断言此方法时,我收到错误消息,无法找到total_price元素。当然,这是不可能的,因为检查时我在不同的选项卡上。


那么如何解决呢?如何将第一种方法中的价格分配给变量并从第二种方法中将其断言为价格?


婷婷同学_
浏览 169回答 3
3回答

LEATH

您想要做的是让您的 Get 方法返回该值,以便您的脚本可以存储它并在以后使用它。例如,更改您的getLastPrice()方法以返回价格 ( String)public String getLastPrice(){     return getPriceWhenOrderIsPaid.getText(); }然后在您的脚本中,您将存储返回值以稍后进行断言,例如String price = getLastPrice(); Assert.areEqual(totalPriceOfOrder.getText(), price, "Verify price");注意:我不知道您发布的变量是哪些,我只是抓了几个并用它们作为示例。

芜湖不芜

@FindBy(id = "total_price")private WebElement totalPriceOfOrder;@FindBy(xpath = "/html/body/div/div[2]/div/div[3]/div/div/span")private WebElement getPriceWhenOrderIsPaid;public String checkTotalValueOfOrderInSummaryTab() {    return totalPriceOfOrder.getText();}public void getLastPrice() {String PriceWhenOrderIsPaid = getPriceWhenOrderIsPaid.getText();String price = checkTotalValueOfOrderInSummaryTab();Assert.assertEquals(getPriceWhenOrderIsPaid.getText(), price, "Verify price");}

动漫人物

这很奇怪,因为。你有一个错误。我认为你必须看看你的元素是否在 iframe 中如果是的话......应用这个driver.switchTo().frame("iframeResult");
随时随地看视频慕课网APP

相关分类

Java
我要回答