2015-11-17 91 views
1

我有一个自动化测试,我已经关闭了大部分变量,这些属性对我来说一直都很棒,除非我需要链接某些东西。这里是想什么我它看起来像一个例子:你可以链接属性?

var test = module.exports = { 
 
    outerElement: element(by.cssContainingText('some.div' 'A name'), 
 
    innerElement: $('something.else'), 
 
    clickOnaName: function() { 
 
    this.outerElement.this.innerElement.click(); 
 
    },

但是我不得不使用这个代码,因为链接不工作我使用它的方式:

var outerElement = element(by.cssContainingText('some.div' 
 
     'A name'); 
 
    var innerElement = $('something.else'); 
 

 
    var test = module.exports = { 
 
     clickOnaName: function() { 
 
      outerElement.innerElement.click(); 
 
     },

有没有办法为我做链或我应该只是LEAV e那些元素作为变量

+0

我认为这是不可能的。但是我想没有必要有这样的场景。你能举一个例子说明你将在哪里应用这种情况?谢谢 –

回答

3

请让我知道这是否有帮助!可以使用.element(el.locator())来扩展元素。您可以一次使用多个选择器。你也可以点击元素数组。

请记住,量角器选择器的这种链接与css空间子选择器相同,而不是>选择器。 也就是说$('.parent').$('.child')将选择与css文件.parent .child中相同的元素,获取所有的孩子,而不仅仅是直接的孩子。

module.exports = function(){ 
    this.parent = $('.parent'); 
    this.child = $('.child'); 
    this.childOfParent = parent.element(child.locator()); 

    this.directParentChild = $('.parent').$('.child'); 

    this.parentArray = $$('.parents'); 
    this.child = $('.child'); 
    this.children = parentArray.get(2).element(child.locator()); 
} 

添加在点击和这样的应该是相当简单的从那里,page.childOfParent.click例如。

+0

非常感谢! –