【问题标题】:Ignore screen reader text in serenity安静地忽略屏幕阅读器文本
【发布时间】:2019-10-11 16:32:16
【问题描述】:

serenity 正在返回屏幕阅读器文本以及屏幕中的可见文本。如何获取用户可见的文本?

public static Target TransactionTypeOption = Target.the("Transaction Type options").located(By.xpath("//ipb-dropdown[@class='type-dropdown ']//li//div"));      
List<String> options = Text.of(TransactionTypeOption).viewedBy(actor).asList();

我为屏幕阅读器文本使用了 bootstrap Sr-only 类。 所以,我只想阅读第一个内容,即“所有事务”,但宁静返回我“所有事务空白,当前选择”

【问题讨论】:

    标签: selenium testing automated-tests serenity-bdd cucumber-serenity


    【解决方案1】:

    您正在使用的 XPath 选择了div,它还会拾取div 下的一些文本,在本例中为, current selection。我之前在 Selenium 中看到过这个问题,唯一的解决方案是处理代码中的额外文本。

    public static Target TransactionTypeOption = Target.the("Transaction Type options").located(By.xpath("//ipb-dropdown[@class='type-dropdown ']//li//div"));
    
    string textToFilterOut = driver.findElement(By.xpath("//span[@class='sr-only']")).getText();      
    List<String> options = Text.of(TransactionTypeOption).replace(textToFilterOut, "").viewedBy(actor).asList();
    

    【讨论】:

    • 列表中的每个单独的 div 都有 sr-only 元素。如何处理?
    • @ChandreshMishra .located(By.xpath("//ipb-dropdown[@class='type-dropdown ']//li//div")); 是否找到一个 div 元素或多个 div 元素?
    • 它找到了多个。这是一个下拉值。
    猜你喜欢
    • 2020-03-30
    • 1970-01-01
    • 2023-02-02
    • 2013-06-20
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多