gpt4 book ai didi

java - 为代码中的特定行设置不同的等待时间

转载 作者:行者123 更新时间:2023-11-30 05:26:19 26 4
gpt4 key购买 nike

我使用 appium、java、JUnit 并作为 Maven 项目在 Android 上自动执行加载资金操作。为了处理超时异常,我有这样的等待能力:

wait = new WebDriverWait(driver, 15);

我通常这样写:wait.until(ExpectedConditions.elementToBeClickable(By.id("login_btn"))).click();

除了一行之外,这种方法工作得很好。我希望我的代码对于特定行等待大约 60 秒。因为该页面加载大约需要 60 秒。

    public void loadMoney() {

successfulLogIn();
wait.until(ExpectedConditions.elementToBeClickable(By.id("loadBtn"))).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("currencyEur"))).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("activityLoadMoney_textView_cardLastFourDigit"))).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("rowYourCards_card_container"))).click();
wait.until(ExpectedConditions.elementToBeClickable(By.id("moneyInputLayout_editText_mainCurrencyAmount"))).sendKeys(loadMoneyAmount);
wait.until(ExpectedConditions.elementToBeClickable(By.id("activityLoadMoney_textView_loadMoney"))).click();
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("successtext")));
MobileElement result = driver.findElement(By.id("successtext"));
Assert.assertEquals((result.getText()), "Successfully sent!");
}

在上面的代码中,我希望我的代码为这一行等待大约 60 秒

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("successtext")));

因为此文本显示大约需要 60 秒。正如我上面提到的,我的等待时间设置为 15 秒。因此,我收到 TimeoutException.. 我不想将整个等待时间更改为 60 秒,因为其他方法会花费太多时间。我只想让我的代码专门为这一行等待 60 秒。我怎样才能做到这一点?我需要为此编写一个新方法吗?如果是这样怎么办?

最佳答案

你可以这样做

WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.elementToBeClickable(By.id("activityLoadMoney_textView_loadMoney"))).click();

wait.wait(60); // you need to add this line

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("successtext")))

通过这种方式,您就不会创建另一个 WebDriverWait 对象

注意:如果下一个元素仅等待 10 秒,那么您需要将等待时间进一步更改为 10,就像 wait.wait(60); 之后驱动程序等待时间设置为 60 而不是 10

关于java - 为代码中的特定行设置不同的等待时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com