2012-06-04 6 views
0

데이터베이스 유효성 검사를 지원하는 Robot Framework의 데이터베이스 라이브러리를 사용하고 있습니다. 내가 사용임시 SQL 서버의 Robot Framework에서 데이터베이스 라이브러리를 사용하는 방법

***Variables*** 
***Settings*** 
Suite Setup 
Suite Teardown 
Test Setup 
Test Teardown 
Library DatabaseLibrary 
***Testcases*** 
UC_DB_Validation 

가 데이터베이스에 연결하려면 :

dbapiModuleName=Mysqldb dbName='bigetestsrv' dbUsername='ravitest' dbPassword='welcome' dbHost='10.73.92.18' 

나는 다음과 같은 얻을 pybot을 사용하여 명령 프롬프트에서 연결 문자열을 실행하는 경우

나는이 기본 명령을 실행하려고 오류 :

"No Module Named as Mysqldb" 

유효한 신임 정보로 Query Express를 사용하고 있고 내 컴퓨터에 SQL Server가 설치되어 있지 않습니다.

내 DB에 어떻게 연결할 수 있습니까? 내가 가진

+0

다른 누구든지 DatabaseLibrary를 통해 SQL Server에 연결하는 데 문제가있는 경우 : DatabaseLibrary와 함께 pyodbc 모듈을 사용했습니다. databaseLibrary가 최신 드라이버 대신 매우 오래된 "SQL Server"ODBC 드라이버를 지정하기 때문에 DatabaseLibrary "Connect to Database"키워드는 pyodbc와 함께 최신 버전의 SQL Server에 연결할 때 작동하지 않습니다. 따라서 "데이터베이스에 사용자 정의 매개 변수 연결"키워드를 사용하십시오. 그러나 catch가 있습니다. 연결 문자열을 지정하는 두 번째 인수를 따옴표로 묶어야 작동합니다. –

답변

2

.....

내가 에서 길을 잘못 데이터베이스 라이브러리 (아파치 라이선스)에 접근했다 http://franz-see.github.com/Robotframework-Database-Library/ 현재 psycopg2를 사용하는 postgresql에서만 테스트 중이며 다른 RDBMS에서는 작동하지 않을 수도 있습니다. 그래서 나는 pymssql db를 연결하려고 시도했다. 이것은 defualt를 지원하며 작동했다.

나는 내가 에서 Pymssql (GNU 약소 일반 공중 사용 허가서)를 설치해야하는 전제 조건으로, '이름', '비밀번호', '호스트'

을 사용자 정의에 Params의 pymssql 'DBNAME'을 사용하여 데이터베이스에 연결을 사용 http://pymssql.sourceforge.net/license.php

감사

대신
-2
import pymysql.cursors 

def Delete_Fund(fundName): 
    connection = pymysql.connect(host='ip', 
          user='root', 
          password='mysql', 
          port=3306, 
          database='novobank_auto', 
          cursorclass=pymysql.cursors.DictCursor) 
    try: 
     with connection.cursor() as cursor: 
      sql1 = "SET @fundName = '" + fundName + "';" 
      cursor.execute(sql1) 
      sql2 = "DELETE FROM `m_fund` WHERE `name` = @fundName;" 
      cursor.execute(sql2) 
      connection.commit() 
      print("Fund : "+fundName+" has been Deleted") 
    finally: 
     connection.close() 

Delete_Fund("FUND001") 
+0

"No Module Named as Mysqldb"오류와 관련이없는 것 같습니다. –

1

:

dbapiModuleName=Mysqldb 

사용 :

또한
dbapiModuleName=PyMySQL 

, 확인 PyMySQL 모듈 pip 명령을 사용하여 컴퓨터에 설치되어 있는지 확인하십시오.

관련 문제