gpt4 book ai didi

java - 如何使用数据表验证同一页面中的所有元素

转载 作者:行者123 更新时间:2023-12-02 09:47:31 24 4
gpt4 key购买 nike

我想知道如何查找同一页面中的所有元素,并使用 Selenium/Java/Cucumber 中的数据表断言它们显示在页面中。

例如,我有一个这样的场景

Sceanario: Verify all the elements in the xyz page
Given I am in the abc page
When I navigate to xyz page
Then I can see the following fields in the xyz page
|field 1|
|field 2|
|field 3|
|field 4|

最佳答案

第一步:构建数据表。 (线索,使用标题,我们可以以更加干净和精确的方式实现数据表,并考虑数据表如下所示)

Then I can see the following fields in the xyz page
| Field Name | Locator |
| field 1 | Xpath1 |
| field 2 | Xpath2 |
| field 3 | Xpath3 |
| field 4 | Xpath4 |

第二步:实现步骤定义

    @Then    
public void I_can_see_the_following_fields_in_the_xyz_page(DataTable table) throws Throwable {
WebElement element;
List<Map<String, String>> list = table.asMaps(String.class,String.class);
for(Map<String, String> list : data) {
element = driver.findElement(By.xpath(list.get("Locator")));
Assert.assertTrue("Element : "+list.get("Field Name")+ "not found",isElementPresent(element));
}
}

实用方法:检查元素是否存在

    protected synchronized boolean isElementPresent(WebElement element) {
boolean elementPresenceCheck = false;
Wait<WebDriver> wait=null;
try {
wait = new FluentWait<WebDriver>((WebDriver) driver).withTimeout(10, TimeUnit.SECONDS).pollingEvery(1,
TimeUnit.SECONDS);
elementPresenceCheck = wait.until(ExpectedConditions.visibilityOf(element)).isDisplayed();
return elementPresenceCheck;
}catch(Exception e) {
return elementPresenceCheck;
}
}

关于java - 如何使用数据表验证同一页面中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56542672/

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