Javascript getText不返回值,但在设置值时返回Object对象
因此,我手头有以下问题: 我想从注册号中获取文本。所以我定义了一个var regNumber=null 我在global.js中定义了var,因为我希望在整个测试中使用不同的页面对象和特定函数之外访问var 当它获取文本并且需要在模板搜索中用setValue填充文本时,它返回Object Object,所以我尝试使用toString,但结果是一样的。 这是我需要使用的函数,以便使用var module.exports={Javascript getText不返回值,但在设置值时返回Object对象,javascript,nightwatch.js,Javascript,Nightwatch.js,因此,我手头有以下问题: 我想从注册号中获取文本。所以我定义了一个var regNumber=null 我在global.js中定义了var,因为我希望在整个测试中使用不同的页面对象和特定函数之外访问var 当它获取文本并且需要在模板搜索中用setValue填充文本时,它返回Object Object,所以我尝试使用toString,但结果是一样的。 这是我需要使用的函数,以便使用var module.exports={ var regNumber = browser.globals; 页
var regNumber = browser.globals;
页面对象
openSearch: function(browser, regNumber ) {
browser.perform(function () {
browser.waitForElementVisible('.registrationnumber-search input', 3000)
browser.setValue('.registrationnumber-search input', regNumber )
return this;
})
.continueButton()
browser.getText('xpath', '//*[@id="wizardDetailsTab"]/div[1]/div/div[1]/h4/span[2]', function (result) {
regNumber = result.value
console.log(result.value)
})
certificateEditor
.quickMenu("Permit")
.createNewItem("template")
permit
.openSearch(browser, regNumber)
测试
openSearch: function(browser, regNumber ) {
browser.perform(function () {
browser.waitForElementVisible('.registrationnumber-search input', 3000)
browser.setValue('.registrationnumber-search input', regNumber )
return this;
})
.continueButton()
browser.getText('xpath', '//*[@id="wizardDetailsTab"]/div[1]/div/div[1]/h4/span[2]', function (result) {
regNumber = result.value
console.log(result.value)
})
certificateEditor
.quickMenu("Permit")
.createNewItem("template")
permit
.openSearch(browser, regNumber)
console.log(result.value)返回我想要的值,但是当我想在setValue中使用该值时,它不起作用。如果我创建一个函数并在该范围内执行getText,它会填充我需要的内容。但是我想知道为什么这样尝试时它不起作用。
提前感谢!从外观上看,当您查找字符串时,正在返回一个对象。我认为您只需要指定所需的对象
browser.globals
应该是
browser.globals.value或browser.globals.text
您的browser.globals是要返回的对象。您必须指定希望该对象返回的键/值对。在页面对象中:
openSearch: function(regNumber ) {
return this.perform(function (done) {
this.api.waitForElementVisible('.registrationnumber-search input', 3000)
.setValue('.registrationnumber-search input', regNumber )
done(); //prevent timeout issue
})
将getText()之后的代码移到其中
感谢您的快速回复!对象对象已消失,但它现在返回的值和/或文本都未定义。感谢您的回复非常有用!干杯,Rody