Après le passage à une nouvelle fenêtre, seul 'urlContains' fonctionne.L'élément n'est pas visible après le passage à NewWindow
Rien d'autre ne se passe (ni cliquez ni elementVisible ou quoi que ce soit)
code partiel de Nightwatch:
'Order Module' : function(browser) {
browser
.useXpath()
.waitForElementVisible("@OrderTab", 20000)
.pause(5000)
.click("@OrderTab")
.pause(5000)
.useCss()
.waitForElementVisible("input[title = 'New']", 20000)
.click("input[title = 'New']")
.useXpath()
.waitForElementVisible("@OrderTextBox']", 20000)
.verify.urlContains('https://invoiceit-s.na30.visual.force.com/apex/createJobStep1?retURL=%2Fa0K%2Fo&save_new=1&sfdc.override=1')
.setValue("@OrderTextBox", "Order Name")
.pause(10000)
.click("@LinkIconForNewWindow")
.pause(10000)
.window_handles(function(result) {
this.verify.equal(result.value.length, 2, '2 windows should be open')
var handle = result.value[1]
this.switchWindow(handle)
this.verify.urlContains('https://invoiceit-s.na30.visual.force.com/_ui/common/data/LookupPage?lkfm=j_id0%3AjobForm&lknm=j_id0%3AjobForm%3Apb%3Arender%3Aj_id38%3A0%3Aj_id39&lktp=001&lksrch=')
this.useXpath()
this.waitForElementVisible("@searchBox", 20000)
})
.pause(20000)
.end() }
Pas une erreur xPath. Cela ne fonctionne pas avec 'waitForElementVisible (' body ', 20000)' aussi. Comme le corps présente dans tous les DOM. Ai-je manqué quoi que ce soit dans la méthode switchWindow? – Maharshi
Le Xpath rend votre code difficile à lire, par exemple, pouvez-vous changer ".////[@id='01r36000000RX00_Tab']/a" en quelque chose comme "#Tab", ou "div [name = tab]" Ce n'est pas facile pour moi (peut-être pour quelqu'un d'autre) de savoir ce que signifient les éléments de votre test: –
Vérifiez le code maintenant @Bao Tran – Maharshi