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
}