0

我想知道 serenity/js 是否可以用于其他 JavaScript 框架或仅用于 Angular/js?

4

1 回答 1

0

Protractor 是 Selenium WebDriver 的包装器,这意味着它可以测试 WebDriver 可以测试的任何东西。

要测试任何非 Angular 项目,您需要禁用特定于 Angular 的测试同步,您可以使用以下任一方法:

量角器配置文件

如果您的测试只执行非 Angular 项目,您可以通过添加browser.ignoreSynchronization = trueonPrepareprotractor.conf.js 文件中的块来禁用所有测试的特定于 Angular 的同步:

exports.config = {
  // ... other config

  onPrepare: function() {
    browser.ignoreSynchronization = true;  // <-- disables synchronisation
  }
};

Serenity/JS 任务

如果您的测试需要同时支持 Angular 和非 Angular 项目,您可以使用UseAngular.disableSynchronisation()UseAngular.enableSynchronisation()任务来切换同步,如下所示:

actor.attemptsTo(
  UseAngular.disableSynchronisation(),
  // ... interact with a non-Angular app
  UseAngular.enableSynchronisation(),
  // ... interact with an Angular app
)

您可以在我关于“跨应用程序测试”的文章中了解有关第二种方法的更多信息

如果这个答案有帮助,请将其标记为已接受,谢谢!

于 2017-05-14T21:51:07.607 回答