Javascript getText不返回值,但在设置值时返回Object对象

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=null

我在global.js中定义了var,因为我希望在整个测试中使用不同的页面对象和特定函数之外访问var

当它获取文本并且需要在模板搜索中用setValue填充文本时,它返回Object Object,所以我尝试使用toString,但结果是一样的。 这是我需要使用的函数,以便使用var

module.exports={

 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