将Protractor作为javascript库包含在网页中

时间:2014-03-19 14:10:40

标签: angularjs selenium-webdriver functional-testing protractor

据我所知,Protractor意味着在Node.js服务器上运行WebDriver并将命令发送到selenium服务器(如果我错了,请随时纠正我。)

无论如何,我想知道是否可以将Protractor作为JavaScript库加载到网页中(例如你可以加载jQuery),这样就可以从页面中的JavaScript代码访问它。

可以吗?如果是这样,怎么样?我需要哪些文件?什么依赖?

我的目标是利用其各种角度绑定选择元素的能力,以及等待角度事件功能。

1 个答案:

答案 0 :(得分:0)

我认为你不能。您可以编写自己的定位器,或使用指令来隔离元素/绑定。另一件好事是潜入量角器源代码,看看他们是如何做到的。特别检查他们的clientsidescripts.js文件。以下是他们如何找到绑定的示例。你会这样称呼:findBindings('exampleBinding');

clientSideScripts.findBindings = function() {
  var binding = arguments[0];
  var using = arguments[1] || document;
  var bindings = using.getElementsByClassName('ng-binding');
  var matches = [];
  for (var i = 0; i < bindings.length; ++i) {
    var dataBinding = angular.element(bindings[i]).data('$binding');
    if(dataBinding) {
      var bindingName = dataBinding.exp || dataBinding[0].exp || dataBinding;
      if (bindingName.indexOf(binding) != -1) {
        matches.push(bindings[i]);
      }
    }
  }
  return matches; // Return the whole array for webdriver.findElements.
};