我正在尝试在robot framework中连接到sql server,因此在pom.xml文件中添加了以下代码:
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.1.jre14</version>
</dependency>
我有以下机器人文件:
***Settings***
Documentation Testing connection to the database!
Library SeleniumLibrary
Library DatabaseLibrary
Library OperatingSystem
#I'm not sure if we need OperatingSystem Library!!
Suite Setup Connect To Database pymssql ${DBName} ${DBUser} ${DBPass} ${DBHost}
# Suite Setup Connect To Database Using Custom Params pymssql ${DBName} ${DBUser} ${DBPass} ${DBHost}
***Variables***
${DBName} DatabaseName
${DBUser} Username
${DBPass} Password
${DBHost} xx.xx.xx.xx
***Test Cases***
Testing Connect to SQL Server
${queryTest}= Execute SQL String select * from Users where Id=1
log to console ${queryTest}
我得到以下错误:
nosectionerror:没有节:“default”
我花了好几天的时间试图连接到数据库,但是运气不好!
2条答案
按热度按时间jpfvwuh41#
你可能失踪了
./resources/db.cfg
正式文件中解释的文件Connect To Database
关键字。或者,您可以指定一个dbconfigfile,其中它将加载dbapimodulename、dbname dbusername和dbpassword的默认属性值(注意:直接指定dbapimodulename、dbname dbusername或dbpassword将覆盖dbconfigfile中相同键的属性)。如果未指定dbconfigfile,则默认为./resources/db.cfg。
你没有指定任何其他的,所以在我提到的位置它应该是默认的。
类似的问题已经在这里得到了回答:错误:没有节:“默认”在机器人框架使用数据库库
编辑:
因为它仍然不起作用(参见注解),所以我添加了这一部分。
Connect To Database
代码中显示如下:https://github.com/franz-see/robotframework-database-library/blob/master/src/databaselibrary/connection_manager.py#l37,函数的开头如下所示(省略注解):出现以下错误:
nosectionerror:没有节:“default”
发生在第81行:https://github.com/franz-see/robotframework-database-library/blob/master/src/databaselibrary/connection_manager.py#l81
那是因为
dbapiModuleName
为none(默认情况下,您不为其指定任何其他值),因此代码转到or config.get('default', 'dbapiModuleName')
在同一条线上。那就是你错过的地方./resources/db.cfg
试图从中获取此变量值的文件。所以你要么提供所有的值,要么把文件放在那里。
文档中提到的关键字都是:https://franz-see.github.io/robotframework-database-library/api/1.2.2/databaselibrary.html#connect%第一句话是:
加载给定dbapimodulename的dbapi2.0模块,然后使用它使用dbname、dbusername和dbpassword连接到数据库。
关于提供什么价值的附加信息
dbapiModuleName
可以在这里找到:如何在临时SQLServer上使用robot框架的数据库库,但它不能像现在配置的那样没有。8dtrkrch2#
我对我的代码做了一个简单的修改,它成功了!!
请注意它应该是:“主机”>“用户名”>“密码”>“数据库名”
参数安排很重要!
注意:我不需要使用配置文件!