【问题标题】:How to use QAF to find elements如何使用 QAF 查找元素
【发布时间】:2019-01-23 08:56:13
【问题描述】:

new QAFExtendedWebElement() 只能找到一个元素,如果我想找到像直接使用 selenium 这样的元素,例如。 driver.findElementsByXPath,我应该使用哪种方法,请举个例子。

【问题讨论】:

    标签: java selenium selenium-webdriver testng qaf


    【解决方案1】:

    您可以通过使用驱动程序对象来实现它。在用于测试用例的 Java 类中,您可以扩展 WebDriverTestCase 并使用 getDriver() 方法获取驱动程序对象。它将返回QAFExtendedWebDriver 如果你这里是例子:

    public class SampleTestSuite extends WebDriverTestCase {
        @Test
        public void test1() {
            getDriver().get("/");
            List<QAFWebElement> eles = getDriver().findElements(locator);
            //List<QAFWebElement> eles = getDriver().findElements(By.name("q"));
        }
    }
    

    请参阅locating elements 以获取更多关于如何提供定位符字符串的帮助。

    在页面类中你可以有@FindBy注解:

    public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{
        @FindBy(locator = "locator")
        private List<QAFWebElement> eles;
    }
    

    component 类中,您可以使用@FindBy。在其他任何地方,您都可以获得如下驱动程序对象:

    QAFExtendedWebDriver driver = new WebDriverTestBase().getDriver();
    

    【讨论】:

    • 想要从步骤中传递定位器并调用 findElements。如何传递定位器变量并将其传递给 findElements 方法?在这里,我的意图是使 findElements 通用方法可以接受可以具有任何值的定位器变量。请建议。
    猜你喜欢
    • 1970-01-01
    • 2021-06-07
    • 2014-03-15
    • 2018-11-19
    • 2016-08-29
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多