我使用dbslim(Selenium)Fitnesse:https://github.com/markfink/dbslim
我想连接到SQL Server 2014。
我的jdbc行应如何格式化?
不是这样的:
| script | Db Slim Setup |!-oracle.jdbc.driver.OracleDriver-!| jdbc:oracle:thin:@host_name:1521:database_name | username | password |
但是怎么回事?
P.S。该文件名为DbSlimSetup.java
DbSlimSetup顺便说一下:
/*******************************************************************************
* The MIT License
*
* Copyright (c) 2010, Mark S.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
******************************************************************************/
package slim;
import services.DbConnectionFactory;
public class DbSlimSetup {
public static String DEFAULT_CONNECTION_POOL_NAME = "default";
public static int DEFAULT_CONNECTION_POOL_MIN_IDLE = 1;
public static int DEFAULT_CONNECTION_POOL_MAX_AXTIVE = 5;
public static int DEFAULT_WAIT_TIMEOUT = 45000;
public DbSlimSetup(
String jdbcDriverClass,
String connectURI, String username, String password) throws Exception {
DbConnectionFactory.getDataSource(
DEFAULT_CONNECTION_POOL_NAME,
jdbcDriverClass,
connectURI, username, password,
DEFAULT_CONNECTION_POOL_MIN_IDLE, DEFAULT_CONNECTION_POOL_MAX_AXTIVE);
}
public DbSlimSetup(
String jdbcDriverClass,
String connectURI, String username, String password,
int minIdle, int maxActive) throws Exception{
DbConnectionFactory.getDataSource(
DEFAULT_CONNECTION_POOL_NAME,
jdbcDriverClass,
connectURI, username, password,
minIdle, maxActive);
}
public DbSlimSetup(
String jdbcDriverClass,
String connectionPoolName,
String connectURI, String username, String password,
int minIdle, int maxActive) throws Exception {
DbConnectionFactory.getDataSource(
connectionPoolName,
jdbcDriverClass,
connectURI, username, password,
minIdle, maxActive);
}
}
那么怎么能用'Db Slim Setup'调用有空格,我不明白那部分。有人可以解释一下吗?
请帮助我对此不熟悉。
答案 0 :(得分:1)
试试这个
!path C:\Xebium\target\classes
|import|
|slim|
!define host_name {########}
| script | Db Slim Setup |!-oracle.jdbc.driver.OracleDriver-!| jdbc:oracle:thin:${host_name}:1521:database_name | username | password |
请注意,您不能在场景中使用它(如果这是您尝试使用'@'执行的操作),因为这是调用fixture类的构造函数,并且应该是一个孤立的表。
答案 1 :(得分:0)
对不起,伙计们,这次你的帮助到目前为止还没有用。
正确的答案应该是:
a)首先你必须正确构建。 所以下载dbslim将c3p0-0.9.12.jar复制到目录c:\ Xebium \ src \ main \ java \ slim
b)然后当它构建类文件时,您已准备好继续前进。
c)现在使用路径!命令添加目标目录(那部分你在哪里) 这样:
!路径C:\ Xebium \ target \ classes \ services
!路径C:\ Xebium \ target \ classes \ slim
之后,无法调用的消息消失了!!! YEAY ... 强>
但现在我有另一个问题:(这是:
EXCEPTION :java.lang.NoClassDefFoundError:DbSlimSetup(错误名称:slim / DbSlimSetup) at java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.8.0_51] at java.lang.ClassLoader.defineClass(ClassLoader.java:760)[rt.jar:1.8.0_51] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)[rt.jar:1.8.0_51] at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)[rt.jar:1.8.0_51] at java.net.URLClassLoader.access $ 100(URLClassLoader.java:73)[rt.jar:1.8.0_51] 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:368)[rt.jar:1.8.0_51] 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:362)[rt.jar:1.8.0_51] at java.security.AccessController.doPrivileged(Native Method)[rt.jar:1.8.0_51] at java.net.URLClassLoader.findClass(URLClassLoader.java:361)[rt.jar:1.8.0_51] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)[rt.jar:1.8.0_51] at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:331)[rt.jar:1.8.0_51] 在java.lang.ClassLoader.loadClass(ClassLoader.java:357)[rt.jar:1.8.0_51] at java.lang.Class.forName0(Native Method)[rt.jar:1.8.0_51] at java.lang.Class.forName(Class.java:264)[rt.jar:1.8.0_51] at fitnesse.slim.fixtureInteraction.DefaultInteraction.getClass(DefaultInteraction.java:57)[fitnesse-20150814.jar] at fitnesse.slim.fixtureInteraction.DefaultInteraction.searchPathsForClass(DefaultInteraction.java:40)[fitnesse-20150814.jar] at fitnesse.slim.fixtureInteraction.DefaultInteraction.createInstance(DefaultInteraction.java:20)[fitnesse-20150814.jar] at fitnesse.slim.SlimExecutionContext.create(SlimExecutionContext.java:48)[fitnesse-20150814.jar] at fitnesse.slim.StatementExecutor.create(StatementExecutor.java:80)[fitnesse-20150814.jar] at fitnesse.slim.instructions.MakeInstruction.executeInternal(MakeInstruction.java:26)[fitnesse-20150814.jar] at fitnesse.slim.instructions.Instruction.execute(Instruction.java:29)[fitnesse-20150814.jar] at fitnesse.slim.ListExecutor $ Executive.executeStatement(ListExecutor.java:49)[fitnesse-20150814.jar] at fitnesse.slim.ListExecutor $ Executive.executeStatements(ListExecutor.java:43)[fitnesse-20150814.jar] at fitnesse.slim.ListExecutor.execute(ListExecutor.java:83)[fitnesse-20150814.jar] at fitnesse.slim.SlimServer.executeInstructions(SlimServer.java:87)[fitnesse-20150814.jar] at fitnesse.slim.SlimServer.processOneSetOfInstructions(SlimServer.java:80)[fitnesse-20150814.jar] at fitnesse.slim.SlimServer.tryProcessInstructions(SlimServer.java:58)[fitnesse-20150814.jar] at fitnesse.slim.SlimServer.serve(SlimServer.java:43)[fitnesse-20150814.jar] at fitnesse.slim.SlimService.handle(SlimService.java:186)[fitnesse-20150814.jar] at fitnesse.slim.SlimService.acceptOne(SlimService.java:194)[fitnesse-20150814.jar] at fitnesse.slim.SlimService.accept(SlimService.java:156)[fitnesse-20150814.jar] at fitnesse.slim.SlimService.startWithFactory(SlimService.java:77)[fitnesse-20150814.jar] at fitnesse.slim.SlimService.main(SlimService.java:57)[fitnesse-20150814.jar]
答案 2 :(得分:0)
<强>溶液:强> 使用Fitnesse通过DbSlim连接到sql数据库的示例是:
|脚本| !-Db Slim Setup-! |!-com.mysql.jdbc.Driver-!| jdbc:mysql://172.55.55.55:3306 / AdventureWorks2012 | testlab | secretpassword |