质量保证金 |如何使用 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 中已有的许多功能。
以下是一些列表:
- 使用 qaf 时,它会为您提供不同的 assertion and verification 元素方法。例如例子:
$("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);
}
- QAF 提供 alternate locators.
的功能
- 和many more
我们已经在我们的项目中实施了 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 中已有的许多功能。 以下是一些列表:
- 使用 qaf 时,它会为您提供不同的 assertion and verification 元素方法。例如例子:
$("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);
}
- QAF 提供 alternate locators. 的功能
- 和many more