如何在 Intern 功能测试中存储一个元素的值,以用于查找其他元素?
例如,我有以下测试片段:
var mainItem = "Menu 1";
var subItem = "Sub Menu 1";
var mainItemId = "";
return this.remote
.elementByXPath("//*[contains(text(),'" + mainItem + "')]/ancestor::*[@dojoattachpoint='focusNode']")
.getAttribute("id")
.then(function(id){ mainItemId = id; })
.clickElement()
.end()
.wait(500)
.then(function(){ console.log(mainItemId); })
.elementByXPath("//*[contains(text(),'" + subItem + "')][ancestor::*[@dijitpopupparent='" + mainItemId + "']]")
.clickElement()
.end()
基本上,当我运行测试时,该mainItemId
值将正确记录,但elementByXPath
找不到第二个。如果我用相同的值初始化mainItemId
,xpath 可以工作。根据我所看到的,它好像mainItemId
只会在.then()
上下文中存储值。
谢谢。