diff --git a/assets/images/kane-ai/features/jira-integration/jira-test-case.webp b/assets/images/kane-ai/features/jira-integration/jira-test-case.webp new file mode 100644 index 000000000..12d8629e8 Binary files /dev/null and b/assets/images/kane-ai/features/jira-integration/jira-test-case.webp differ diff --git a/assets/images/kane-ai/features/jira-integration/live-preview.png b/assets/images/kane-ai/features/jira-integration/live-preview.png new file mode 100644 index 000000000..ac14fb753 Binary files /dev/null and b/assets/images/kane-ai/features/jira-integration/live-preview.png differ diff --git a/assets/images/kane-ai/features/jira-integration/marketplace.png b/assets/images/kane-ai/features/jira-integration/marketplace.png new file mode 100644 index 000000000..daab9bf63 Binary files /dev/null and b/assets/images/kane-ai/features/jira-integration/marketplace.png differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image1.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image1.jpg new file mode 100644 index 000000000..64bef08bd Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image1.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image10.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image10.jpg new file mode 100644 index 000000000..065c0c855 Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image10.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image13.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image13.jpg new file mode 100644 index 000000000..bdbbf9088 Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image13.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image2.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image2.jpg new file mode 100644 index 000000000..4d9b244cc Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image2.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image3.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image3.jpg new file mode 100644 index 000000000..24dbe5bda Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image3.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image6.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image6.jpg new file mode 100644 index 000000000..828aa7abf Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image6.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image8.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image8.jpg new file mode 100644 index 000000000..affcd3ac4 Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image8.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/api-testing/image9.jpg b/assets/images/kane-ai/knowledge-base/api-testing/image9.jpg new file mode 100644 index 000000000..aaf7f04bf Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/api-testing/image9.jpg differ diff --git a/assets/images/kane-ai/knowledge-base/variables/1.png b/assets/images/kane-ai/knowledge-base/variables/1.png new file mode 100644 index 000000000..b90faaaed Binary files /dev/null and b/assets/images/kane-ai/knowledge-base/variables/1.png differ diff --git a/docs/app-auto-network-throttling.md b/docs/app-auto-network-throttling.md index 09561741c..99fb37ab1 100644 --- a/docs/app-auto-network-throttling.md +++ b/docs/app-auto-network-throttling.md @@ -137,7 +137,14 @@ To utilize the **networkProfile** capability, ensure that you include `network: #### iOS -- For **iOS** devices, offline mode cannot be set using the `networkProfile` capability. Instead, use the offline mode API by sending a cURL request within the running test session: + +- **LambdaHook:** You can also switch to offline mode during the test execution with the following command: + ```python + driver.execute_script("updateNetworkProfile=offline") + ``` + +- For both iOS and android devices you can use the offline/online mode API as well within the running test session: + ```bash curl --location 'https://mobile-api.lambdatest.com/mobile-automation/api/v1/sessions//update_network' \ --header 'Authorization: Basic ' \ diff --git a/docs/contacts-on-real-devices.md b/docs/contacts-on-real-devices.md new file mode 100644 index 000000000..e9f01f2d2 --- /dev/null +++ b/docs/contacts-on-real-devices.md @@ -0,0 +1,65 @@ +--- +id: contacts-on-real-devices +title: Access your Contacts +sidebar_label: Contacts +description: Now you can test your contacts in your app on LambdaTest Real Device Cloud Platform with 3000+ real mobile devices. +keywords: + - image injection + - app test automation + - contacts + - access contacts + - delete contacts + - save contacts + - lambdatest capture code + - framework on lambdatest + - app testing appium + - app testing + - real devices +url: https://www.lambdatest.com/support/docs/contacts-on-real-devices/ +site_name: LambdaTest +slug: contacts-on-real-devices/ +--- + +import CodeBlock from '@theme/CodeBlock'; +import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +With LambdaTest Real Devices, you can interact with the built-in Contacts app on our real devices to test your app's functionality. To support diverse testing, we've included sample contact data for you to use. + +## Supported Devices +LambdaTest supports access to the dummy Contacts on the following devices: + +- Devices running Android 10 and higher(Except Tabs). +- Devices running iOS 13 and higher. + +## What you can test? +With access to the Contacts app on the remote devices, you can now test scenarios, such as: + +- Access contacts from the Contacts app. +- Add/Save your custom contacts to the Contacts app. +- Edit/delete a contact. \ No newline at end of file diff --git a/docs/hyperexecute-integration-with-virtual-devices.md b/docs/hyperexecute-integration-with-virtual-devices.md index 65b286705..f83772d70 100644 --- a/docs/hyperexecute-integration-with-virtual-devices.md +++ b/docs/hyperexecute-integration-with-virtual-devices.md @@ -80,13 +80,13 @@ Run your samplе tеsts on HyperExecute using our samplе Android and iOS applic You can use your own project to configure and test it. For demo purposes, we are using the sample repository. -:::tip Sample repo + ## Step 2: Setup the CLI in your Test Suite diff --git a/docs/hyperexecute-smart-ui-sdk-selenium-csharp.md b/docs/hyperexecute-smart-ui-sdk-selenium-csharp.md index 06373b6c2..44a544fea 100644 --- a/docs/hyperexecute-smart-ui-sdk-selenium-csharp.md +++ b/docs/hyperexecute-smart-ui-sdk-selenium-csharp.md @@ -77,13 +77,13 @@ After creating the project, you will get your `PROJECT_TOKEN`. You need to keep You can use your own project to configure and test it. For demo purposes, we are using the sample repository. -:::tip Sample repo + ### Update the Dependencies diff --git a/docs/kane-ai-api-testing.md b/docs/kane-ai-api-testing.md new file mode 100644 index 000000000..ade9e6fec --- /dev/null +++ b/docs/kane-ai-api-testing.md @@ -0,0 +1,112 @@ +--- +id: kane-ai-api-testing +title: KaneAI - API Testing +hide_title: false +sidebar_label: API Testing +description: Learn how to test api via kane ai +keywords: + - lambdatest automation + - lambdatest kaneai + - kaneai scroll elements + - kaneai sidebar scroll +url: https://www.lambdatest.com/support/docs/kane-ai-api-testing/ +site_name: LambdaTest +slug: kane-ai-api-testing/ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; +import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; + + +This document provides a detailed guide to performing API testing using KaneAI. The API testing feature allows for comprehensive backend testing, complementing existing UI testing capabilities. Follow the instructions below to execute API tests using the PetStore API as an example. + +## 1. Adding an API in a Web Test + +To start API testing on KaneAI, create a web test using the PetStore API, a commonly available sample. This will allow you to demonstrate API testing capabilities effectively. + +- **Step**: Add an API through the slash command and navigate to the API module. + + kenai-jira integration + + +## 2. Adding a Curl Command + +Within the API module, you can input the curl command to configure the API settings automatically. + +- **Step**: Paste your curl command into the designated area. KaneAI will populate all necessary details. You may choose to validate the API response or add it directly to the test steps. + + kenai-jira integration + + +## 3. Validating API Response on KaneAI + +To ensure the API works as expected, use the validation feature. This step confirms that the API responds correctly and can be added to test steps. + +- **Step**: Click the 'validate' option to check the API response. A 200 response status indicates successful validation, automatically adding the API to your test steps. You can now proceed to submit multiple APIs simultaneously if needed. + + kenai-jira integration + + +## 4. Adding Non-Success APIs in Test Steps + +For APIs that do not return a 200 status, you can review the response body and manually add them to the test steps as required. + +- **Step**: If the API returns a 400 Bad Request or another error, it will not be added automatically. Review the response and add the API manually if needed. + + kenai-jira integration + + +## 5. Adding Multiple APIs in One Go + +KaneAI allows batch processing of multiple APIs to streamline testing. This feature is helpful for scenarios requiring the execution of several API calls in succession. + +- **Step**: Add multiple APIs by clicking the plus icon and selecting each API, or paste multiple curl commands to add them automatically to the test steps. + + kenai-jira integration + + +## 6. Handling Different HTTP Methods + +KaneAI supports various HTTP methods like POST, PUT, GET, and DELETE, allowing you to test diverse API interactions. + +- **Step**: Add APIs using different HTTP methods, such as a PUT or DELETE command. Validate each API as before, and if successful, they will be automatically included in the test steps. + + + kenai-jira integration + + kenai-jira integration + +## 7. Executing and Reviewing Test Steps + +Once all APIs are added, KaneAI enables simultaneous execution, with details available on methods used, response statuses, and execution times. + +- **Step**: Click to execute all added APIs in one go and review the response details for insights into API performance and data returned. + + kenai-jira integration + + +This structure provides logical groupings for different aspects of API testing with KaneAI, making it easier to follow each type of action required for comprehensive API testing. \ No newline at end of file diff --git a/docs/kane-ai-jira-integration.md b/docs/kane-ai-jira-integration.md new file mode 100644 index 000000000..417bfd363 --- /dev/null +++ b/docs/kane-ai-jira-integration.md @@ -0,0 +1,87 @@ +--- +id: kane-ai-jira-integration +title: KaneAI - Jira Integration +hide_title: false +sidebar_label: Jira Integration +description: Learn how to integrate your jira tickets with KaneAI and test planner using Atalssian Marketplace +keywords: + - lambdatest automation + - lambdatest kaneai + - kaneai scroll elements + - kaneai sidebar scroll +url: https://www.lambdatest.com/support/docs/kane-ai-jira-integration/ +site_name: LambdaTest +slug: kane-ai-jira-integration/ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; +import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; + + +The "Jira integration" feature allows you to generate test cases from your Jira tickets automatically. This feature leverages AI to analyze the content of Jira tickets and transform written test case descriptions into executable test cases on the LambdaTest platform. This documentation provides a detailed guide to help you understand and utilize this feature effectively. + +## Key Benefits of the Kane AI Jira Integration: +- **Automated Test Creation :** Quickly transform test case descriptions in Jira into executable test cases without manual setup. +- **Efficient QA Workflow :** Simplify testing processes by managing test creation directly from Jira, saving time and reducing errors. +- **Reduced Bug Risk :** AI-powered test creation helps reduce the likelihood of bugs by ensuring all outlined test cases are covered and refined. + +## Step-by-Step Guide +### Step 1: Install LambdaTest Application for Jira +Visit the Atlassian Marketplace, locate the **LambdaTest AI Cloud** application for Jira and install app on your Jira instance. + +:::note +Currently in the **Beta**. Please reach out to our window.openLTChatWidget()}>support team to enable the KaneAI for your organization. +::: + +kenai-jira integration + +### Step 2: Define Test Cases in a Jira Ticket +- **Create or Open a Jira Ticket :** Start by creating a Jira ticket or accessing an existing ticket where you want to outline test cases. +- **Write Test Case Details :** In the comments section, add detailed information about the test cases you want to execute. Clearly describe each test case's steps, conditions, expected outcomes, and any other relevant information to help Kane AI generate accurate tests. + +### Step 3: Generate Test Cases Using Kane AI +To trigger Kane AI, add the comment to your Jira ticket calling LambdaTest application, for example: + +```bash +@LambdaTest create test case based on the details of this Jira +``` + +> **Note :** This comment signals Kane AI to analyze the Jira ticket content and automatically create test cases. + +After you post the comment, Kane AI will process the request and respond with a confirmation message. The response includes a link to LambdaTest where you can review, modify, and schedule the generated test case. + +kenai-jira integration + +### Step 4: Review and Schedule the Test Case on LambdaTest +- **Access the Test Case :** Click on the link provided by Kane AI in the Jira comment. This will create a [Test Plan](/support/docs/kane-ai-test-plan/#step-2-define-your-state-outcomes-error-messages-constraints-and-user-inputs) for you to review and execute via KaneAI. +- **Review Test Case Details :** Check the generated test case for accuracy. You can review test steps, expected outcomes, and conditions to ensure they align with your requirements. +- **Schedule the Task for KaneAI :** Once verified, schedule the task for KaneAI to generate and automate the test case on its own. + +### Step 5: Check the test execution +Click on the Live Preview button to enter the playground and check the live execution of your test based on your defined objective. + +kenai-jira integration \ No newline at end of file diff --git a/docs/kane-ai-using-variables.md b/docs/kane-ai-using-variables.md new file mode 100644 index 000000000..476daba5a --- /dev/null +++ b/docs/kane-ai-using-variables.md @@ -0,0 +1,89 @@ +--- +id: kane-ai-using-variables +title: KaneAI - Using Variables in Test Cases +hide_title: false +sidebar_label: Variables Guide +description: Learn how to use variables in the KaneAI test cases +keywords: + - lambdatest automation + - lambdatest kaneai + - kaneai scroll elements + - kaneai sidebar scroll +url: https://www.lambdatest.com/support/docs/kane-ai-using-variables/ +site_name: LambdaTest +slug: kane-ai-using-variables/ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; +import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; + + +The new variable definition feature in KaneAI allows users to define reusable variables, assign them values, and use those values within test cases. This feature enhances flexibility, readability, and consistency across test cases, making it easier to maintain and modify them. + +## Why Use Variables? +Using variables enables you to: +- Avoid repetitive entries in test cases. +- Update values in one place without needing to modify multiple test cases. +- Increase the reusability and adaptability of test scripts, especially useful for parameters that might change frequently, such as URLs, credentials, or environmental settings. + +## Variable Syntax +To work with variables in KaneAI, you need to follow these syntax rules: + +- Variables are defined using the `$` prefix +- Variable names should follow the `$` symbol without any spaces +- Example: `$username`, `$phoneNumber`, `$address` + +## Creating Variables +To create a variable: + +- Navigate to the "Write a Step" text field +- Type your instruction using the following format: *create a variable `$variableName`* + +Example: +```bash +create a variable $phoneNumber +``` + +## Using Variables +To use a previously created variable in any subsequent step or test case, reference the variable using the same `$` syntax. Format: *use the value of `$variableName`* + +Example: +```bash +use the value of $phoneNumber in the given text field +``` +kenai-jira integration + +## Best Practices +### Naming Conventions +- Use descriptive names for your variables +- Avoid special characters except for the required $ prefix +- Use camelCase for multi-word variable names + +### Variable Management +- Create variables at the beginning of your test case when possible +- Document the purpose of each variable in comments +- Verify that variables are defined before using them \ No newline at end of file diff --git a/docs/ui-inspector.md b/docs/ui-inspector.md new file mode 100644 index 000000000..c0423d817 --- /dev/null +++ b/docs/ui-inspector.md @@ -0,0 +1,101 @@ +--- +id: ui-inspector +title: UI Inspector +hide_title: false +sidebar_label: UI Inspector +description: Learn real device app testing with LambdaTest across Android and iOS devices. Start testing effortlessly today! +keywords: +- ui inspector +url: https://www.lambdatest.com/support/docs/ui-inspector/ +site_name: LambdaTest +slug: ui-inspector/ +--- + + +LambdaTest UI App Inspector provides a graphical interface to inspect and interact with the elements of a mobile application. When you launch your mobile app, it retrieves the DOM (Document Object Model) of the app. This DOM includes various UI elements such as buttons, text fields, labels, etc., organised in a hierarchical structure. + +## Benefits of UI Inspector + +- **DOM Representation:** It visually represents the DOM of the mobile application in a tree-like structure. This representation helps testers and developers understand the layout and structure of the app's UI. +- **Visual Representation:** It provides a graphical interface where you can expand and collapse nodes to view the elements nested within other elements. You can also select individual elements within the DOM by tapping on them. +- **Element Identification:** When you select an element, it provides information about that element, such as its type, attributes, and location within the DOM. This information helps in identifying elements uniquely for automation purposes. +- **Automation:** It aids in generating Xpath by providing information about the elements in the DOM. Test scripts can locate and interact with UI elements by referencing their properties in the DOM. For example, you can create Xpath to tap on a button by specifying its unique identifier, XPath expression, or accessibility label within the DOM. + +LambdaTest UI Inspector is divided into various components such as + +- Search Bar +- Hierarchy View +- Properties Table +- Application Control +- Screenshot View + +Let's have a detailed look at each of these components: + +### Search Bar + +- The Search Bar is a feature that allows users to quickly locate specific elements within the mobile application's DOM (Document Object Model). +- Users can enter locator strategies in the Search Bar to find the corresponding elements within the DOM. + +### Hierarchy View + +- The Hierarchy View provides a visual representation of the DOM structure of the mobile application. +- It presents the elements in a hierarchical tree-like format, where parent-child relationships are clearly depicted. +- You can also select and inspect an hybrid app which has a webview using the drop down. + +### Properties Table + +- The Properties Table displays detailed information about the selected UI element from the DOM. +- It includes various properties such as element type, attributes, accessibility labels, coordinates, and other relevant metadata. +- Users can refer to the Properties Table to obtain essential details about the selected element, which are instrumental in identifying and interacting with it programmatically. + +### Application Control + +- **Refresh Dump:** The "Refresh Dump" feature allows users to synchronize the inspection tool with the current state of the mobile application. +- **Relaunch App:** The "Relaunch App" feature allows users to restart the currently running instance of the mobile application. + +### ScreenshotView + +- The Screenshot View provides a comprehensive overview of the mobile application's user interface elements, presented in a visual representation typically in the form of a screenshot dump. +- Users can click on individual elements within the screenshot dump, triggering simultaneous highlighting of the corresponding element in both the Hierarchy View and the Properties Table, facilitating quick navigation and detailed inspection. + + \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 0a3bac16f..952f3e65b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -1036,7 +1036,9 @@ module.exports = { items: [ "kane-ai-javascript-execution", "kane-ai-geolocation-tunnel-proxy", - "kane-ai-scroll-in-feature" + "kane-ai-scroll-in-feature", + "kane-ai-jira-integration", + "kane-ai-api-testing" ], }, { @@ -1045,7 +1047,8 @@ module.exports = { label: "Knowledge Base", items: [ "kane-ai-command-guide", - "kane-ai-web-test-writing-guidelines" + "kane-ai-web-test-writing-guidelines", + "kane-ai-using-variables" ], }, { @@ -1764,7 +1767,7 @@ module.exports = { type: "category", collapsed: true, label: "Features", - items: ["camera-image-injection-on-real-devices", "biometric-authentication-on-real-devices", "real-device-adb-shell", "screen-reader-on-real-devices-app", "accessibility-settings-ios"], + items: ["camera-image-injection-on-real-devices", "biometric-authentication-on-real-devices", "contacts-on-real-devices", "real-device-adb-shell", "ui-inspector", "screen-reader-on-real-devices-app", "accessibility-settings-ios"], }, ], },