katalon测试用例,如果sql查询返回正确的值

用户2201789

我有查询所有项目的数据文件/数据库 table 1 (table 1 has column A, B, C) 在此处输入图片说明

SELECT * from DB1.table1

然后测试用例

  1. 从数据文件中获取数据

    def数据= findTestData('数据文件/数据库')

  2. 在A列中找到值123,然后检查C列是否通过了0,如果不是0,则失败。较早的代码有效。如下代码和结果。

  3. 现在,问题是A列中可能会出现123次,如何通过使用datatime列增强代码以仅检查最新值?

import static com.kms.katalon.core.testdata.TestDataFactory.findTestData

import com.kms.katalon.core.logging.KeywordLogger
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.util.KeywordUtil

def KeywordLogger result = KeywordUtil.logInfo()

TestData data = findTestData('Data Files/Database')



for(i=1; i<= data.getRowNumbers(); i++){
	if(data.getValue(1, i)=='123'){
		println data.getValue(3,i)
		assert data.getValue(3,i) == '0'
		KeywordUtil.markPassed("test passed")
	}
}

测试用例结果,实际:123值为0。测试结果通过。

    2019-09-26 09:40:55.333 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
    2019-09-26 09:40:55.335 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/DatabaseTest/Get DB data - Copy - Copy
    2019-09-26 09:40:55.602 DEBUG testcase.Get DB data - Copy - Copy       - 1: result = logInfo()
    2019-09-26 09:40:55.605 INFO  com.kms.katalon.core.util.KeywordUtil    - null
    2019-09-26 09:40:55.607 DEBUG testcase.Get DB data - Copy - Copy       - 2: data = findTestData("Data Files/Database")
    2019-09-26 09:40:55.904 INFO  c.k.katalon.core.db.DatabaseConnection   - dbServerInfo = PostgreSQL 11.5 (Debian 11.5-1.pgdg90+1)
    2019-09-26 09:40:55.939 DEBUG testcase.Get DB data - Copy - Copy       - 3: for ([i = 1, i <= data.getRowNumbers(), (i++)])
    2019-09-26 09:40:55.954 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.042 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.043 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.044 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.045 DEBUG testcase.Get DB data - Copy - Copy       - 1: println(data.getValue(3, i))
    true
    2019-09-26 09:40:56.050 DEBUG testcase.Get DB data - Copy - Copy       - 2: assert data.getValue(3, i) == "0"
    2019-09-26 09:40:56.054 DEBUG testcase.Get DB data - Copy - Copy       - 3: markPassed("test passed")
    2019-09-26 09:40:56.057 DEBUG com.kms.katalon.core.util.KeywordUtil    - ✓ test passed
    2019-09-26 09:40:56.058 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.059 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.060 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "123")
    2019-09-26 09:40:56.062 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/DatabaseTest/Get DB data - Copy - Copy

然后我将123更改为234。实际:234不是0。然后测试用例失败。


    
    
    
2019-09-26 09:44:38.155 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------
2019-09-26 09:44:38.157 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/DatabaseTest/Get DB data - Copy - Copy
2019-09-26 09:44:38.403 DEBUG testcase.Get DB data - Copy - Copy       - 1: result = logInfo()
2019-09-26 09:44:38.408 INFO  com.kms.katalon.core.util.KeywordUtil    - null
2019-09-26 09:44:38.409 DEBUG testcase.Get DB data - Copy - Copy       - 2: data = findTestData("Data Files/Database")
2019-09-26 09:44:38.681 INFO  c.k.katalon.core.db.DatabaseConnection   - dbServerInfo = PostgreSQL 11.5 (Debian 11.5-1.pgdg90+1)
2019-09-26 09:44:38.709 DEBUG testcase.Get DB data - Copy - Copy       - 3: for ([i = 1, i <= data.getRowNumbers(), (i++)])
2019-09-26 09:44:38.722 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "234")
2019-09-26 09:44:38.798 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "234")
2019-09-26 09:44:38.799 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "234")
2019-09-26 09:44:38.801 DEBUG testcase.Get DB data - Copy - Copy       - 1: if (data.getValue(1, i) == "234")
2019-09-26 09:44:38.802 DEBUG testcase.Get DB data - Copy - Copy       - 1: println(data.getValue(3, i))
false
2019-09-26 09:44:38.806 DEBUG testcase.Get DB data - Copy - Copy       - 2: assert data.getValue(3, i) == "0"
2019-09-26 09:44:38.826 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/DatabaseTest/Get DB data - Copy - Copy FAILED.
Reason:
Assertion failed: 

assert data.getValue(3,i) == '0'
       |    |          |  |
       |    false      43 false
       com.kms.katalon.core.testdata.DBData@79145d5a

	at Get DB data - Copy - Copy.run(Get DB data - Copy - Copy:16)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
	at TempTestCase1569462275661.run(TempTestCase1569462275661.groovy:21)

2019-09-26 09:44:38.838 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/DatabaseTest/Get DB data - Copy - Copy
伴侣Mrše

如果'Data Files/Database'示例中的测试数据表是excel表(不确定如何对数据库执行相同的操作),此代码段将满足您的要求

def data = findTestData("Data Files/Database")

for(i=1; i<= data.getRowNumbers(); i++){
    if(data.getObjectValue(1, i)=='123'){
        println data.getObjectValue(3,i)
        assert data.getObjectValue(3,i) != '0'
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在开始在机器人框架中执行测试用例之前,如何最初存储函数的返回值

在相同的测试用例或单独的测试用例中测试默认值和设置器

如何查询GoLang测试用例中的错误对象?

Beego测试用例返回404状态,端点不匹配

无法将List <Integer>输出输出到Katalon测试用例

如何从Rally Java API中的测试用例查询teststep

如何获取Testng-如果测试用例具有多个值的数据提供者,则测试方法名称

使用不同的参数运行相同的Katalon测试用例

更改执行Katalon Studio测试用例后显示的默认消息

Katalon Studio:如何为启用MTOM的SOAP Web服务创建VerifyElementText测试用例?

测试用例失败

当beforeEach挂钩中的某些值不正确时,如何跳过测试用例?

如何在Katalon Studio中处理测试用例失败

如果无法进行验证,如何检查测试用例

Katalon中的e2e测试用例可以用Javascript语言编写吗

在新的Katalon项目中导入现有的测试用例

无法在测试用例源中分配动态值

beforeInterceptor的测试用例

Mocha测试用例基于查询的功能

SoapUI:将属性值传递给被调用的测试用例

如果我未对“严格期望”提供正确的期望,为什么我的JMockit测试用例不会失败?

这些测试用例正确吗?

Ranorex:如果发生异常,如何停止测试用例?

测试用例assertException

如果Statement未通过测试用例

需要测试用例来查找 Name 的缺失值

如果项目有测试用例,Jenkins 构建失败,Xcode

具有不同实现但返回相同值的两个函数的测试用例

findById 在 Junit 测试用例中返回空