质量保证金 |如何使用 QAF 测试 Angular 和 React 等新时代技术

QAF | How to test new age technologies like Angular & React using QAF

我们已经在我们的项目中实施了 QAF,但发现 Angular 页面很难实现。我们可以用 QAF 实现 ngWebDriver (Protractor) 吗?另外,我正在阅读有关 FluentSelenium 的信息。使用新时代技术的任何方向

QAF 是一个非常先进的框架,从一开始就有很多特性和功能。

Angular/ngWebDriver参考相关post and example of custom locator strategy for anngular js.

关于FluentSelenium,您可以如下使用:

myScreenShotOnError = ...
fwd = new FluentWebDriver(new WebDriverTestBase().getDriver(), new CompositeMonitor(new HighlightOnError(ffd), myScreenShotOnError));

但是,您可以使用 qaf 中已有的许多功能。 以下是一些列表:

$("ele.loc").verifyText('glob:*sometext*'); 
$("ele.loc").assertText('glob:*sometext*');
  • 使用 QAF,您无需担心元素可见性或过时引用元素异常。
  • 你可以在element或者driver listener的onfailure方法中添加retry。理想的例子是需要关闭的意外或随机弹出窗口。
    public void onFailure(QAFExtendedWebElement element, CommandTracker commandTracker) {
        //check and close popup if exist

        // Actions action = new Actions(element.getWrappedDriver());
        // action.sendKeys(Keys.ESCAPE).build().perform();

        closePopUpIfExist(); 
        System.out.println(commandTracker.getCommand() + " element command retring");

        if (commandTracker.hasException()
                && commandTracker.getException() instanceof StaleElementReferenceException) {
            element.setId("-1");
        }
            commandTracker.setRetry(true);
    }