当我尝试访问某个函数时,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)
}
});
}
答案 0 :(得分: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();
}