Selen SQL-Datenbank-Verbindung
Ich in ein Problem, wenn ich versuche, führen Sie eine einfache Selen-test, der eine Verbindung zu einer SQL-Datenbank. Der test wird nicht laufen, es scheint zu scheitern, auf die Zusammenstellung bietet jedoch keinerlei Informationen, wo der Fehler festgestellt wurde.
Ist, habe ich mich in diesem http://automationtricks.blogspot.com/2010/05/how-to-pass-parameters-to-junit-or.html und Google groups, aber kann ' T es herausfinden.
Hier ist der code, hoffe jemand kann mich in die richtige Richtung. Danke!
package com.XXX.Tests;
import java.sql.*;
import java.sql.Connection;
import org.junit.Test;
import org.testng.annotations.BeforeClass;
import com.thoughtworks.selenium.*;
import org.openqa.selenium.server.SeleniumServer;
public class SeleniumandDB extends SeleneseTestBase {
@BeforeClass
public void setUp()throws Exception {
SeleniumServer seleniumServer=null;
try {
seleniumServer = new SeleniumServer();
seleniumServer.start();
} catch (Exception e) {
e.printStackTrace();
}
selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://wwww-test/");
selenium.start();
}
@Test public void testUntitled2() throws Exception {
String userID = null;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
selenium.open("/");
selenium.windowFocus();
selenium.windowMaximize();
Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://XXXX:1433/XXX","XX","XXXX");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT TOP 1 UserID FROM webuser ORDER BY 1 DESC");
while(rs.next()){
userID = rs.getString("UserID");
conn.close();
System.out.println(userID);
selenium.type("txtUserID", userID);
selenium.type("txtPassword", "password");
selenium.click("btnLogin2");
selenium.waitForPageToLoad("30000");
selenium.stop();
}
}
}
InformationsquelleAutor BPK | 2011-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen, diese ein.es sollte funktionieren.
1) entfernen Sie erstreckt sich SeleneseTestBase und dann ausführen mit junit
(da die @Test Annotation von JUNIT wird die Rolle spielen)
ODER
2)entfernen Sie einfach das @Test-annotation und überschreiben setUp() und einige andere Methoden wie start()
Der selenesetestbase Klasse Methoden, und führen Sie die Klasse mit Hilfe von JUNIT-container.
3)ODER Nutzung von TESTNG nur. (nicht verlängern Klasse und nutzen von ANNOTATIONEN)
Das problem, das ich sehen konnte aus deiner Erklärung und deinem code ist,
Sie importieren 2 Container (TestNG und Junit4) und erweitern Sie die Test-Klasse
Mit Junit3-container.
Definiert und die Testfälle mit Junit4-container( mit @Test)
Aber läuft der test-Klasse, die mit junit3-container.so junit3 braucht diese Standard-Methoden zu verstehen, die man
SetUp und welche Methode ist für einen testcase.aber Sie sind nicht supplieg solche Infos
Junit3-container wird einfach durch das ausführen Ihrer Klasse ohne testcases.
Ich hoffe, dass dies klar das Problem.aber ich könnte falsch sein, da ich TestNG verwenden und nicht verlängern-Klassen.
InformationsquelleAutor sudarsan
InformationsquelleAutor Preet
Sind Sie sicher, dass Sie net haben.sourceforge.jtds.jdbc.Treiber in den classpath?
InformationsquelleAutor Felipe Knorr Kuhn