【问题标题】:If I update angularjs, do I need to rewrite protractor tests?如果我更新 angularjs,是否需要重写量角器测试?
【发布时间】:2018-07-31 04:03:44
【问题描述】:

我有一个用 AngularJS v1.5.8 编写的本地 web 应用程序,并考虑开始使用量角器进行测试。如果我将来更新 Angular,是否有可能因为两者之间的版本问题而不得不重写量角器测试?

我知道我已经不得不担心 protractor 和 nodejs 之间的版本依赖关系,但是如果我有机会重写 protractor 测试,我还不如从 Selenium 开始,对吧?

【问题讨论】:

  • 是什么让您认为您不必重写 Selenium 测试?
  • 我的意思是,如果我改变元素位置和东西,Selenium 测试将需要重写。我的意思是如果一切都一样,量角器测试是否会因为角度版本而失败
  • 查看页面对象模型。使用页面对象编写测试将有助于使您的测试免受更改。
  • 阅读AngularJS Developer Guide - Migrating from V1.5 to V1.6,它解释了会影响测试的重大变化。
  • 对于单元脚本,我认为由于不同的angularjs版本的api更改,您需要进行一些修改;对于 e2e 脚本,你不需要重写它们,但可能需要升级量角器版本,如果是这样,请注意新量角器的中断更改,大多数量角器旧 api 也适用于新版本。

标签: angularjs node.js selenium protractor angularjs-1.6


【解决方案1】:

AngularJS V1.6 版本附带了比平常更长的重大更改列表。

为了提醒您,这里简要总结了预计会产生最大影响的重大变更。请务必在下面的完整列表中查找它们或查看相应的提交以获取更多信息。

  • $location 现在使用 '!'作为 hash-bang URL 的默认哈希前缀,而不是空字符串。

  • $compile(默认情况下)不会在组件/指令控制器实例上预先分配绑定。

  • http 出于安全原因对 JSONP 请求施加了额外的限制

  • 对 input[type=range] 的改进支持意味着范围输入的行为(绑定到 ngModel 时)已经改变。

  • ngTransclude 现在将仅包含空格的嵌入内容视为空内容,并改为使用后备内容。

  • ngAria/ngModel 不再覆盖自定义复选框形状控件的默认 $inEmpty() 方法。

欲了解更多信息,请参阅AngularJS Developer Guide - Migrating from V1.5 to V1.6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2013-10-27
    相关资源
    最近更新 更多