SoapUI Load test, deleting folders problem

привіт,

намагаюсь зробити лоад тест в соапі. Серед тест степів є створення і видалення папки.

Виникла проблемка...  Після рана лоад теста, не всі створені папки видалені. Чому? Таке враження ніби спочатку створюється 5 папок, а потім видаляється остання.

Але так мені не підходить, бо мені треба послідовне виконання степів. Папка видаляється по фолдер айді, яке береться з попереднього степу створення папки.

 

код як видлаяєте папки в студію

да тут надо на код смотреть, без него тяжело будет что-то подсказать

ну и сразу надо показать, как ты запускаешь нагрузочные тесты.

может бить непральние код удаления папок впринципе - может цикл кривой там какой то написан...или что то а подобе

Я створила http request, method:DELETE, request url: .../deleteDocument.xml

Видаляє по айді id ${#TestSuite#documentID} яка береться зі властивостей сьюта.

айдішку фолдера отримую після того як її було створено таким чином:

 

import com.eviware.soapui.support.XmlHolder
 
def response = testRunner.testCase.testSteps["createFolder"].testRequest.responseContentAsXml
def holder = new XmlHolder(response)
 
def folderID = holder.getNodeValue("/result//data/id")
assert folderID
assert folderID.length() > 0
 
log.info folderID
testRunner.testCase.testSuite.setPropertyValue( "folderID", folderID ) 
 
степи йдуть послідовно, якщо запускати одним потоком то все норм, пробувала 5 потоків виставити(сімпл), то видалялась тільки кожна п'ята папка....

FileUtils.deleteRecursive(new File("c:\\TempTest")) //вместо 'c:\\TempTest' - свой путь

public class FileUtils
{
  public static boolean deleteRecursive(File path) throws FileNotFoundException
  {
    if (!path.exists()) throw new FileNotFoundException(path.getAbsolutePath())
      boolean ret = true

    if ( path.isDirectory() )
    {
      for ( File f : path.listFiles() )
        ret = ret && FileUtils.deleteRecursive(f)
    }

    return ret && path.delete()
  }
}

дякую, але думаю трохи не те. Мені треба видаляти тільки ті які я створила, а тут на скільки я зрозуміла всі. 

а можна доречі записувати створені в масив, а потім всі папки з айдішками які є в масиві видаляти?

Смотри: я создавал отдельную папку, скажем, 'TempExcel', записывал всё туда, а потом спокойно удалял её вместе со всеми файлами (в зависимости от задач надо было и архивы распаковывать, и PDF- и Excel-репорты чекать)

Т.е. как-то так

//Proclaim the path for temp folder

String Path = "c:\\TempExcel"

//Check if a folder for temporary file exists
File TempDir = new File (Path)

if (! TempDir.exists() )
TempDir.mkdir()

Path = Path + "\\Check.xls"
File ExcelReport = new File(Path)

гарна ідея, спробую  - відпишу результат. Дякую

проблема вирішена, дякую всім за поради.

Виявилось, що в кілька потоків створювалась одна й та ж папка

Треба було замінити назву відповідно до індекса потоку.

Можливо комусь знадобиться :) 

 

if (context.RunCount==0)
{def threadIndex= context.ThreadIndex
def folderNameCounter=threadIndex*100000
testRunner.testCase.setPropertyValue( "folderNameCounter", folderNameCounter.toString()) }
 
Дякую всім за допомогу