小编Aus*_*ran的帖子

将 sqlite3 数据库连接/存储在默认目录以外的指定目录中 -- "conn = sqlite3.connect('name_of_database')"

我正在使用 Sqlite3 数据库尝试从与最初创建的目录不同的目录访问其数据。

我在 Squish GUI 自动化 IDE 中运行的 python 脚本(测试用例)位于一个目录中

C:\Squish_Automation_Functional_nVP2\suite_Production_Checklist\tst_dashboard_functional_setup

在那里,我在同一个脚本中创建了一个包含下表的数据库:

def get_var_value_pass():
    conn = sqlite3.connect('test_result.db')
    c = conn.cursor()
    c.execute('CREATE TABLE IF NOT EXISTS test_result_pass (pass TEXT,result INTEGER)')    
    c.execute("INSERT INTO test_result_pass VALUES('Pass', 0)")
    conn.commit()  
    c.execute("SELECT * FROM test_result_pass WHERE pass='Pass'", )       
    pass_result = c.fetchone() 
    test.log(str(pass_result[1])) 
    test_result = pass_result[1] 
    c.close()
    conn.close()       
    return test_result
Run Code Online (Sandbox Code Playgroud)

现在我想访问我以前通过“conn = sqlite3.connect('test_result.db')”在另一个位于不同目录中的测试用例中创建的同一个数据库

C:\Squish_Automation_Functional_nVP2\suite_Production_Checklist\tst_Calling_In-Call-Options_Text_Share-Text_Update-Real-Time

问题是,当我尝试对同一个数据库执行 select 语句时——在不同的脚本(测试用例)中,如下所示:

def get_var_value_pass(pass_value):
    conn = sqlite3.connect('test_result.db')
    c = conn.cursor()
    c.execute("SELECT * FROM test_result_pass WHERE pass='Pass'", )  
Run Code Online (Sandbox Code Playgroud)

一旦我尝试 c.execute("") 语句,我的测试就会失败,因为找不到表。相反,最近的“conn = …

python sqlite automated-tests squish

2
推荐指数
1
解决办法
5852
查看次数

标签 统计

automated-tests ×1

python ×1

sqlite ×1

squish ×1