@nbakka/mcp-appium 2.0.83 → 2.0.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/server.js CHANGED
@@ -614,10 +614,10 @@ tool(
614
614
 
615
615
  tool(
616
616
  "fetch_testcases_from_tcms",
617
- "Before generating ticket for a jira ticket, always fetch existing test cases from TCMS tool for a specific folder",
617
+ "Before calling these tool, folder name can be analysed by data fetched from jira ticket info. Before generating test cases for a jira ticket, always fetch existing test cases from TCMS tool for a specific folder",
618
618
  {
619
- projectKey: zod_1.z.string().describe("The project key (e.g., SCRUM)"),
620
- folderName: zod_1.z.string().describe("The folder name to filter test cases (e.g., PDP)")
619
+ projectKey: zod_1.z.string().describe("The project key Default: SCRUM"),
620
+ folderName: zod_1.z.string().describe("The folder name to filter test cases (e.g., PDP), folder name can to be fetched from jira ticket info")
621
621
  },
622
622
  async ({ projectKey, folderName }) => {
623
623
  try {
@@ -940,11 +940,11 @@ tool(
940
940
  "Check the approval status of test cases review session with 25 second wait",
941
941
  {
942
942
  sessionId: zod_1.z.string().describe("The session ID returned from review_testcases tool")
943
-
943
+ },
944
+ async ({ sessionId }) => {
944
945
  const session = approvalSessions.get(sessionId);
945
946
 
946
947
  if (!session) {
947
- },
948
948
  return JSON.stringify({
949
949
  status: "error",
950
950
  message: "Session not found. Invalid session ID."
@@ -955,42 +955,47 @@ tool(
955
955
  const elapsedTime = Math.floor((currentTime - session.startTime) / 1000);
956
956
 
957
957
  if (session.status === 'approved') {
958
-
959
958
  const approvedTestCases = session.finalTestCases || session.testCases;
960
- approvalSessions.delete(sessionId);
961
959
 
962
960
  // Clean up session and close server
963
961
  if (session.server) {
964
962
  session.server.close();
965
963
  }
966
- return `Test cases have been approved by the user!
964
+ approvalSessions.delete(sessionId);
965
+
966
+ return JSON.stringify({
967
+ status: "approved",
967
968
  message: "Test cases have been approved by the user.",
968
969
  approvedTestCases: approvedTestCases,
969
970
  elapsedTime: elapsedTime
970
- session.server.close();
971
- }
972
- approvalSessions.delete(sessionId);
973
-
974
971
  });
975
972
  } else if (session.status === 'cancelled') {
976
973
  // Clean up session and close server
977
974
  if (session.server) {
978
- status: "cancelled",
979
- message: "Review was cancelled by the user.",
980
- elapsedTime: elapsedTime
981
975
  session.server.close();
982
976
  }
983
977
  approvalSessions.delete(sessionId);
984
978
 
979
+ return JSON.stringify({
980
+ status: "cancelled",
981
+ message: "Review was cancelled by the user.",
982
+ elapsedTime: elapsedTime
985
983
  });
986
984
  } else if (session.status === 'timeout' || elapsedTime > 300) { // 5 minutes
987
985
  // Clean up session and close server
988
986
  if (session.server) {
989
- } else {
990
- Status: timeout
991
- Elapsed time: ${elapsedTime} seconds`;
987
+ session.server.close();
988
+ }
989
+ approvalSessions.delete(sessionId);
992
990
 
991
+ return JSON.stringify({
993
992
  status: "timeout",
993
+ message: `Review session timed out. Elapsed time: ${elapsedTime} seconds`,
994
+ elapsedTime: elapsedTime
995
+ });
996
+ } else {
997
+ return JSON.stringify({
998
+ status: "pending",
994
999
  message: "Test cases are still pending approval. Continue polling.",
995
1000
  elapsedTime: elapsedTime,
996
1001
  remainingTime: Math.max(0, 300 - elapsedTime)
@@ -7,11 +7,16 @@ final output should be test in following format
7
7
  "Verify pay on credit banner exits on PDP", "Existing"
8
8
  "Verify overview tab on PDP", "New"
9
9
  "Verify financial services are displayed under financial tab", "Remove", "SCRUM-TC-2"
10
- "Verify xyz is present in overview section ", "Verify xyz is moved from overview to property tour section ", "Modify", "SCRUM-TC-2"
10
+ "Verify xyz is present in overview section (this is a before test case fetched from tcms)", "Verify xyz is moved from overview to property tour section (this is a after test case generated)", "Modify", "SCRUM-TC-2"
11
11
  Existing - already exists in TCMS and no changes needed
12
12
  New - doesn't exist in TCMS and needs to be created
13
13
  Remove - to remove test cases from TCMS because it is no longer valid
14
- Modify - existing TCMS test case needs to be modified because of changes in the feature, only test cases
14
+ Modify - existing TCMS test case needs to be modified because of changes in the feature,
15
+ should contains before test case from tcms and after testcase that is generated, only test cases
15
16
  existing in TCMS and if change is to be done to it should be marked as Modify
16
17
  "SCRUM-TC-2" - id of existing test case in TCMS, only for Remove and Modify test cases
17
- if any new test case is to be created then don't mention any id against it
18
+ if any new test case is to be created then don't mention any id against it
19
+ for review_testcases test cases tool data should be in this format, strictly follow this format espcially for Modify test cases
20
+ {"testCases":[["Verify that brochure section is visible under overview tab","Verify brochure section is removed from property tour tab","Modify","SCRUM-TC-1"],
21
+ ["Verify similar properties section is visible under over tab in pdp section","Remove","SCRUM-TC-2"],
22
+ ["Verify Project Brochure section appears above the 'Explore on map' section in Overview tab","New"]]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nbakka/mcp-appium",
3
- "version": "2.0.83",
3
+ "version": "2.0.85",
4
4
  "description": "Appium MCP",
5
5
  "engines": {
6
6
  "node": ">=18"