我想知道serenity / js是否可以用于其他JavaScript框架,还是仅用于Angular / js?
答案 0 :(得分:0)
Protractor是Selenium WebDriver的包装器,这意味着它可以测试WebDriver可以做的任何事情。
要测试任何非Angular项目,尽管您需要禁用Angular特定的测试同步,您可以使用以下任一方法执行:
如果您的测试只是执行非Angular项目,您可以通过将browser.ignoreSynchronization = true
添加到protractor.conf.js中的onPrepare
块来禁用所有测试的Angular特定同步文件:
exports.config = {
// ... other config
onPrepare: function() {
browser.ignoreSynchronization = true; // <-- disables synchronisation
}
};
如果您的测试需要同时支持Angular和非Angular项目,您可以使用UseAngular.disableSynchronisation()
和UseAngular.enableSynchronisation()
这样的任务来切换同步:
actor.attemptsTo(
UseAngular.disableSynchronisation(),
// ... interact with a non-Angular app
UseAngular.enableSynchronisation(),
// ... interact with an Angular app
)
您可以在我的文章&#34; Cross-application testing&#34;
中详细了解第二种方法如果这个答案有帮助,请mark it as accepted,谢谢!