使用nightwatch.js如何使用动态提供的值

时间:2017-03-04 07:37:36

标签: javascript selenium testing automation nightwatch.js

我有一个问题是识别列表框中存在的动态生成(使用JQuery或某些脚本)元素。我想选择一个我动态传递的特定市场价值。 我到目前为止使用的代码是

browser.useXpath().waitForElementVisible('.//*[@id="NIRPaymentReasonDropDown_1"]', 1000)

browser.useXpath().click('//*[@id="NIRPaymentReasonDropDown_1"]/span[1]/span/span[1]') .click('//*[@id="NIRPaymentReason_1_listbox"]/li[text()="' + pageValues.market + '"]')

enter image description here

此处pageValues.market是一个动态提供的值。

Inshort,我想知道如何使用动态提供的值在动态生成的列表框项目上生成点击事件。使用nightwatch.js

请帮我解决这个问题

1 个答案:

答案 0 :(得分:2)

经过多次试验和错误后,我成功使用此解决方案处理同一网页新打开的标签页

 browser.windowHandles(function(result) {
                            var authorizePopup = result.value[1];
                            this.waitForElementVisible('#confirmation-modal', 2000)
                            this.switchWindow(authorizePopup);
                            this.assert.containsText(".modal-title", "Payment Details");
                            this.click('#confirm-checkbox')
                                .click('#submit-payment-btn')
                        })

我想要一个更好的方法将被检查的元素存储在这个新创建的标签的页面对象中..你能给我任何建议或意见吗