为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

婷婷同学_ 2023-06-21 13:18:53
网址: 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元素。当然,这是不可能的,因为检查时我在不同的选项卡上。那么如何解决呢?如何将第一种方法中的价格分配给变量并从第二种方法中将其断言为价格?
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

您想要做的是让您的 Get 方法返回该值,以便您的脚本可以存储它并在以后使用它。

例如,更改您的getLastPrice()方法以返回价格 ( String)

public String getLastPrice(){
    return getPriceWhenOrderIsPaid.getText();
}

然后在您的脚本中,您将存储返回值以稍后进行断言,例如

String price = getLastPrice();
Assert.areEqual(totalPriceOfOrder.getText(), price, "Verify price");

注意:我不知道您发布的变量是哪些,我只是抓了几个并用它们作为示例。



查看完整回答
反对 回复 2023-06-21
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

@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");}


查看完整回答
反对 回复 2023-06-21
?
动漫人物

TA贡献1815条经验 获得超10个赞

这很奇怪,

因为。你有一个错误。我认为你必须看看你的元素是否在 iframe 中如果是的话......应用这个

driver.switchTo().frame("iframeResult");


查看完整回答
反对 回复 2023-06-21
  • 3 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信