#1. Yes.
Like, context.testCase.name and context.getTestCase().getName() are same and here there are no arguments involved.
Similarly set also, however, it mostly may contain some argument.
How to set a test case property
But it will be little different if there are arguments to be passed for either set and get methods.
context.testCase.setPropertyValue('PROPERTY_NAME','PROPERTY_VALUE')
Can also be expressed as
context.testCase.properties['PROPERTY_NAME'].value = 'PROPERTY_VALUE'
How to get a test case property
context.testCase.getPropertyValue('PROPERTY_NAME')
or
context.testCase.properties['PROPERTY_NAME'].value
At least, above are some variants of set / and get methods while using groovified.
2. Gald know that.
If you want to access artifacts from other test suite, one must at least have project object(by accessing it successive parents). Here, you went one level ahead i.e., workspace which is not required.
Get the project object :
def currentProject = context.testCase.testSuite.project
Then use currentProject later for all references if you dont want to use it long.
currentProject.testSuites["yourTestSuite"].testCases["TestCase 1"].testSteps["delete"].testRequest.responseContentAsXml
#3 one is also same as above.