如何将类文件导出到jar中并在JMeter中使用

bvjveswy  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(99)

有一个java文件,用于创建我的负载测试的一些先决条件。我有一个属性文件,用于这个类文件的一些条目。我想将这个类文件导出到可运行的Jar中,并从JMeter中运行它,以使测试独立(因为我每次在触发测试之前都手动运行这个java文件)。
如何将属性文件与jar文件集成?比如我是否需要将属性文件包含到可运行的jar中?如果是,如何从JMeter向其传递变量?
下面是我的示例Java文件,

  1. package Automation.Test;
  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.util.*;
  5. public class ImageUtility {
  6. static List<String> stuName = new ArrayList<String>();
  7. static List<String> sitName = new ArrayList<String>();
  8. static List<String> subName = new ArrayList<String>();
  9. static List<String> visName = new ArrayList<String>();
  10. static List<String> modName = new ArrayList<String>();
  11. static String examDate[] = new String[10];
  12. static String envfilePath = System.getProperty("user.dir") + "\\ENV_2.properties";
  13. static Properties p = new Properties();
  14. static int totalimages;
  15. static String stuVal = p.getProperty("StuValue");
  16. static String sitVal = p.getProperty("SitValue");
  17. static String subVal = p.getProperty("SubValue");
  18. static String visValue = p.getProperty("VisValue");
  19. static String Examdate = p.getProperty("Examdates");
  20. static String modVal = p.getProperty("ModValue");
  21. static String stuInstnaceUID;
  22. static String stuUUId;
  23. @SuppressWarnings("unused")
  24. public static void main(String[] args) {
  25. try {
  26. FileReader reader = new FileReader(envfilePath);
  27. p.load(reader);
  28. stuVal = p.getProperty("StuValue");
  29. sitVal = p.getProperty("SitValue");
  30. subVal = p.getProperty("SubValue");
  31. visValue = p.getProperty("VisValue");
  32. Examdate = p.getProperty("Examdates");
  33. modVal = p.getProperty("ModValue");
  34. stuInstnaceUID = p.getProperty("stuInstnaceUIDValue") + p.getProperty("SubValue") + "0";
  35. File[] files = new File(System.getProperty("user.dir") + "\\generated\\").listFiles();
  36. int subN = Integer.parseInt(p.getProperty("SubValue"));
  37. for (String sName : stuName) {
  38. for (String siName : sitName) {
  39. for (int i = 0; i < (Integer.parseInt(p.getProperty("NoOfSubjectsValue"))); i++) {
  40. stuInstnaceUID = p.getProperty("stuInstnaceUIDValue") + subN + "0";
  41. stuUUId = p.getProperty("StuUUIdValue") + subN;
  42. for (String vName : visName) {
  43. if (vName.equals("baseline") || vName.equals("PRE_TREATMENT")) {
  44. Examdate = examDate[0];
  45. } else if (vName.equals("cycle_1")) {
  46. Examdate = examDate[1];
  47. } else if (vName.equals("cycle_2")) {
  48. Examdate = examDate[2];
  49. } else if (vName.equals("cycle_3")) {
  50. Examdate = examDate[3];
  51. }
  52. for (String modtxt : modName) {
  53. }
  54. }
  55. subN++;
  56. }
  57. }
  58. }
  59. } catch (Exception e) {
  60. e.printStackTrace();
  61. }
  62. }
  63. }

字符串
和示例属性文件:

  1. StuValue=555210
  2. SitValue=98141
  3. SubValue=98167
  4. NoOfSubjectsValue=1
  5. VisValue=baseline
  6. NoofImagesPerVisit=1
  7. ModValue=ct
  8. Examdates=20160616
  9. stuInstnaceUIDValue=1.333.148.217134.
  10. StuUUIdValue=2.25.282782546287287271988767684395420443

y1aodyip

y1aodyip1#

取决于你想要实现的目标:
1.您可以在setUp Thread Group中使用OS Process Sampler运行可执行文件.jar
1.您可以将代码复制到JSR223 Sampler中,并在需要时调用它
1.您可以将.jar放入JMeter ClassPath中,并在需要时从JSR223 Sampler调用它。

相关问题