每个键必须是多个字符串;未定义

问题描述 投票:1回答:1

当我尝试访问一个函数时,findpen()我收到一个错误:

每个键必须是多个字符串;未定义。

有人可以帮忙吗?声明变量有什么问题吗?

var mysql = require('../../node_modules/mysql');
describe ('protractor Demo', function() {

it ('login',function(done)
{
 ............
 ............
 Console.log ('login sucess')
});

it('E2E',function(done) 
{     
     var ofrecord = findPen();    
     browser.sleep(12000);  
     browser.element(by.css('div > input')).sendKeys(ofrecord);
     browser.actions().sendKeys(protractor.Key.ENTER).perform().then(function()
{
     console.log('reference # is searched sucessfully');
})

var accountnumber;
function findPen() 
{
    var connection = mysql.createConnection
({
    host: 'host',
    user :'user',
    password :'password',
    database:'database'
});  
    connection.connect(function(){
    console.log('DB is connected');    
}); 
     connection.query("SELECT * from  TEST where TEST Descrption='TCRC' LIMIT 1",function(err,rows) 
    {
    if (!err) 
    {
    console.log("result is :", rows[0].Tentacles);
    accountnumber=rows[0].Tentacles;
    console.log("output is :", accountnumber);
    return accountnumber;
    }         
    else
    {
    console.log("Error"+err)
    }
     });

}
protractor
1个回答
2
投票

首先,在SQL查询中的“描述”一词中有一个拼写错误,当前没有返回任何行时,您当前没有处理这种情况。这可能会导致你的问题。

其次,findPen()不返回任何内容 - findPen()中的连接查询返回accountNumber,但findPen()不会对此做任何事情。您需要在findPen()的末尾调用并返回查询函数。

作为一个非常简单的示例,此代码将在您完成时调用时产生错误:

var buzz;

function foo () {
    var bar = function() {
        buzz = 1;
        return buzz;
    }
}

它只需要像这样修改才能正确返回:

var buzz;

function foo () {
    var bar = function() {
        buzz = 1;
        return buzz;
    }
    return bar();
}
© www.soinside.com 2019 - 2024. All rights reserved.