如何在 Katalon Studio 中使用 TestDataFactory 获取绝对路径

How to get absolute path with TestDataFactory in Katalon Studio

我曾经有一个 excel sheet 绑定到我的测试用例

def dataUserPass = TestDataFactory.findTestData("myTable")

其中 "myTable" 是位于 C:/Users/myself/git/my-project/Data Files/myTable 的文件的相对 ID。

最近我使用 Gitlab 将我的代码移动到服务器。在我的计算机上测试 运行 正常,但是当同事尝试 运行 此测试时,他们收到此错误消息:

Test FAILED because (of) (Stack trace: java.lang.IllegalArgumentException: Cannot find test data with id 'Data Files/myTable' because (of) 'java.io.FileNotFoundException: C:\Users\myself\git\my-project\Data Files\myTable.xlsx'

所以我尝试重新定义我的测试数据:

def dataUserPass = TestDataFactory.findTestData(RunConfiguration.getProjectDir() + '/Data Files/myTable') 

(RunConfiguration.getProjectDir() returns C:\Users\myself\git\my-project\)

但我得到了以下信息:

Test FAILED because (of) (Stack trace: java.lang.IllegalArgumentException: Cannot find test data with id 'Data Files/C:/Users/myself/git/my-project/Data Files/myTable' because (of) 'java.lang.IllegalArgumentException: Test data with id 'Data Files/C:/Users/myself/git/my-project/Data Files/myTable' does not exist'

我认为 getSourceUrl 方法可以解决您的问题。尝试这样的事情

def dataUserPass = TestDataFactory.findTestData("myTable")
println dataUserPass.getSourceUrl()

我认为您可以将 excel 文件添加到 Data Files 文件夹中与 "myTable" 文件相同的文件夹中。然后在数据文件映射中,选择 "Relative path"。 此设置将帮助您的项目使用相对路径定位文件,并且可以在不同的机器上执行。