Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nightwatch.js中节的[Page Object]参数_Javascript_Automated Tests_Nightwatch.js - Fatal编程技术网

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

Javascript nightwatch.js中节的[Page Object]参数,javascript,automated-tests,nightwatch.js,Javascript,Automated Tests,Nightwatch.js,我在其中有一个单页应用程序和订单列表部分,如下所示: <form> <form-order> // section <ElementA> <ElementB> <ElementC> <form-order> <ElementA> <ElementB> <ElementC> <form-order>

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

<form>
   <form-order> // section
     <ElementA>
     <ElementB>
     <ElementC>
   <form-order>
     <ElementA>
     <ElementB>
     <ElementC>
   <form-order>
     <ElementA>
     <ElementB>
     <ElementC>
</form>
当我调用此节时,将有3个相同的选择器,因此将使用第一个选择器。问题是如何为此节和其中的元素设置:nth-child(),应该如下所示:

 form-order:{
  selector:"div[class=form-order]:nth-child("+n+")",
  elements:{
     ElementA:"#ElementA",
     ElementB:"#ElementB",
     ElementC:"#ElementC",
     }
  }
但是我不知道如何在nightwach.js中实现,或者有什么解决方案吗?
感谢阅读。

我不确定您是否可以按照您的建议轻松地将它们全部定义在一起,但您可以单独定义它们,如下所示:

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

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

我有20个表单命令和12个元素,如果我遵循你的解决方案,将有200多个元素。目前,我使用命令而不是元素,但这不是一个好的做法。是的,我明白了。对不起,我不知道该怎么做,我将尝试检查它以获得更好的解决方案。
elements: {
    elementA1 : '.select-content:eq(0) #ElementA',
    elementA2 : '.select-content:eq(1) #ElementA',
    elementC3 : '.select-content:eq(2) #ElementC' //and so on
}