[Page Object] nightwatch.js中节的参数

时间:2016-04-12 08:20:53

标签: javascript automated-tests nightwatch.js

我有一个单页面应用程序和订单部分列表,如下所示:

<form>
   <form-order> // section
     <ElementA>
     <ElementB>
     <ElementC>
   <form-order>
     <ElementA>
     <ElementB>
     <ElementC>
   <form-order>
     <ElementA>
     <ElementB>
     <ElementC>
</form>

并在nightwatch页面对象中:

 form-order:{
  selector:'div[class=form-order]',
  elements:{
     ElementA:'#ElementA',
     ElementB:'#ElementB',
     ElementC:'#ElementC',
     }
  }

当我调用此部分时,将会有3个,相同的选择器,所以第一个将被使用。问题是如何设置:nth-​​child()为此部分和元素内,它应该是像这样:

 form-order:{
  selector:"div[class=form-order]:nth-child("+n+")",
  elements:{
     ElementA:"#ElementA",
     ElementB:"#ElementB",
     ElementC:"#ElementC",
     }
  }

但是我不知道如何在nightwach.js中做到这一点或有任何解决方案吗? 感谢阅读。

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以像您建议的那样轻松地将它们全部定义在一起,但您可以单独定义它们:

elements: {
    elementA1 : '.select-content:eq(0) #ElementA',
    elementA2 : '.select-content:eq(1) #ElementA',
    elementC3 : '.select-content:eq(2) #ElementC' //and so on
}

在您找到更好的解决方案之前,这可能会让您前进。当然,您应该根据您拥有的实际HTML进行调整。