' $'量角器

时间:2016-04-22 10:32:38

标签: angularjs protractor angularjs-e2e gulp-protractor

我在很多例子中都看到了$('.selector'),我也在使用它。那么这个 $ 变量是做什么的。这是我从量角器docs得到的。

  

可以将对$的调用链接起来查找父母中的元素。

文档中没有单独使用$的示例。我们正在使用$element选择器链接。

同样$('.selector')本身就是一个元素,当我们这样做element($('.selector'))时,这是一个错误。

那么如何在量角器中使用这个$选择器。它是否具有JQuery $的所有功能。我尝试了$('.selector').children,其中children不是函数。

非常感谢任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:8)

看起来就像jQuery语法一样,但它不是,它是Protractor的一部分。这就是.children抛出错误的原因,因为我们实际上并没有使用jQuery。 $element(by.css())的缩写版本,即

$('my-css');element(by.css('my-css'));

完全相同

他们还有$$,与element.all(by.css())

相同

尽管缺少文档,但 必须才能链接以查找子元素。即使用朱莉的量角器演示(我修改了示例):

describe('Protractor Demo App', function() {
  it('read the header', function() {
    browser.get('http://juliemr.github.io/protractor-demo/');
    $('h3').getText().then(function (val) {
      console.log(val);
    });
  });
});

打印出我找到的h3元素的标题。 $$$只是css选择器的简写。

来源:here for $$here for $here for more

这也是我发现的一个很好的文件(虽然它没有提到使用$$http://luxiyalu.com/protractor-locators-selectors/

答案 1 :(得分:1)

我们对$的量角器API进行了更新。此外,Protractor的规格中有几个地方使用链式$。见下文(来自spec/async_spec.js):

#picturebox{
       border-color:midnightblue;
        margin: 0 auto;
     border:10px solid #ccc;
     border-right: 200%;
         padding:20px 60px 0px 2px ;
         height: 100%
        width:50%;
        background-color:lightblue;
    }

答案 2 :(得分:0)

这是$:

的正确API文档

"使用css直接查询文档的快捷方式。 element(by.css('.abc'))相当于$('.abc')"

http://www.protractortest.org/#/api?view=build $