From a3a55ee80aed104b588044c97088233c6ebfb2a5 Mon Sep 17 00:00:00 2001 From: Private1647 <98103945+Private1647@users.noreply.github.com> Date: Wed, 27 Apr 2022 13:32:56 +0530 Subject: [PATCH 1/5] Updated script and ReadMe file (#1) * Updated Automation script and readme file * Delete .idea directory * Delete output.xml * Delete LambdaTestStatus.py --- Makefile | 14 +++++++++ README.md | 70 ++++++++++++++++++++++++++++++++++++++++- Resources/Common.robot | 16 ++++++++++ Tests/Android.robot | 29 +++++++++++++++++ Tests/IOS.robot | 20 ++++++++++++ make.exe | Bin 0 -> 249344 bytes requirements.txt | 3 ++ 7 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 Resources/Common.robot create mode 100644 Tests/Android.robot create mode 100644 Tests/IOS.robot create mode 100644 make.exe create mode 100644 requirements.txt diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..857ba95 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +run_all_in_parallel: + make -j test_Android1 test_Android2 test_iOS1 test_iOS2 + +test_Android1: + robot --variable version:10 --variable platform:Android --variable deviceName:"Galaxy S20" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/Android.robot + +test_Android2: + robot --variable version:10 --variable platform:Android --variable deviceName:"Galaxy S10" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/Android.robot + +test_iOS1: + robot --variable version:14 --variable platform:iOS --variable deviceName:"iPhone 11" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/IOS.robot + +test_iOS2: + robot --variable version:14 --variable platform:iOS --variable deviceName:"iPhone 12" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/IOS.robot \ No newline at end of file diff --git a/README.md b/README.md index ce4f7ac..5cbb7bf 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,70 @@ # LT-appium-python-robot -LT appium python +Sample repo to run app automation on robot framework real device on LambdaTest + +## Pre-requisites + +--- + +Before you can start performing App automation testing with Appium, you would need to follow these steps: + +- Install the latest stable Python build from the [official website](https://www.python.org/downloads/). We recommend using the latest version. +- Make sure **pip** is installed in your system. You can install **pip** from [here](https://pip.pypa.io/en/stable/installation/). + +### Clone The Sample Project + +**Step-1:** Clone the LambdaTest's [LT-appium-python-robot](https://github.com/LambdaTest/LT-appium-python-robot) and navigate to the code directory as shown below: + +```bash +git clone https://github.com/LambdaTest/LT-appium-python-robot +cd LT-appium-python-robot +``` + + +### Setting Up Your Authentication + +Make sure you have your LambdaTest credentials with you to run test automation scripts on LambdaTest. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans) or access the [Automation Dashboard](https://appautomation.lambdatest.com/). + +**Step-2:** Set LambdaTest `Username` and `Accesskey` in the Common.robot file. + +### Upload Your Application + +**Step-3:** Upload your **_iOS_** application (.ipa file) or **_android_** application (.apk file) to the LambdaTest servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: + +```bash +curl -u "YOUR_LAMBDATEST_USERNAME":"YOUR_LAMBDATEST_ACCESS_KEY" \ +--location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \ +--form 'name="Android_App"' \ +--form 'appFile=@"/Users/macuser/Downloads/proverbial_android.apk"' +``` + +> **Note:** +> +> - Ensure to add the app_url received in the makefile. +> - If you do not have any **.apk** or **.ipa** file, you can run your sample tests on LambdaTest by using our sample [Android app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk) or sample [iOS app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_ios.ipa). +> - Response of above cURL will be a **JSON** object containing the `App URL` of the format - and will be used in the next step. + +### Executing The Tests + +**Step-4:** Run the following command in the directory wto install the relevant dependencies. + +```bash +pip install -r requirements.txt +``` + +**Step-5:** Run the following command in the directory where your project has been saved to execute your build. + +```bash +make test_iOS1 +``` + +```bash +make test_Android1 +``` + +**Running tests in Parallel :** Run the following command to run tests in parallel + +```bash +make -j test_Android1 test_Android2 test_iOS1 test_iOS2 +``` + +Your test results would be displayed on the test console (or command-line interface if you are using terminal/cmd) and on the [LambdaTest App Automation Dashboard](https://appautomation.lambdatest.com/build). \ No newline at end of file diff --git a/Resources/Common.robot b/Resources/Common.robot new file mode 100644 index 0000000..d90768f --- /dev/null +++ b/Resources/Common.robot @@ -0,0 +1,16 @@ +*** Settings *** +Library AppiumLibrary + +*** Variables *** + +${username} username +${accesskey} accesskey +${REMOTE_URL} https://${username}:${accesskey}@beta-hub.lambdatest.com/wd/hub +${TIMEOUT} 3000 + +*** Keywords *** +Open test app + Open Application ${REMOTE_URL} platformName=${platform} platformVersion=${version} deviceName=${deviceName} visual=${visual} network=${network} isRealMobile=${isRealMobile} app=${app} name=Robot Framework Sample Test build=Appium Python Robot + +Close test app + Close Application \ No newline at end of file diff --git a/Tests/Android.robot b/Tests/Android.robot new file mode 100644 index 0000000..c5588dd --- /dev/null +++ b/Tests/Android.robot @@ -0,0 +1,29 @@ +*** Settings *** + +Resource ../Resources/Common.robot + +Test Setup Common.Open test app +Test Teardown Common.Close test app + +*** Variables *** +${TIMEOUT} 3000 + +*** Test Cases *** + +Example of connecting to Lambdatest via Robot Framework + [Timeout] ${TIMEOUT} + Click element id=color + Click element id=Text + Click element id=toast + + Click element id=notification + Click element id=geoLocation + Sleep 2 seconds + Click element id=Home + Sleep 2 seconds + Click element id=speedTest + Sleep 2 seconds + + Click element id=Browser + Input Text id=url https://lambdatest.com + Click element id=find diff --git a/Tests/IOS.robot b/Tests/IOS.robot new file mode 100644 index 0000000..a7faa28 --- /dev/null +++ b/Tests/IOS.robot @@ -0,0 +1,20 @@ +*** Settings *** + +Resource ../Resources/Common.robot + +Test Setup Common.Open test app +Test Teardown Common.Close test app + +*** Variables *** +${TIMEOUT} 3000 + +*** Test Cases *** + +Example of connecting to Lambdatest via Robot Framework + [Timeout] ${TIMEOUT} + Click element id=color + Click element id=Text + Click element id=toast + Click element id=notification + Click element id=geoLocation + diff --git a/make.exe b/make.exe new file mode 100644 index 0000000000000000000000000000000000000000..89467ebb86ab4241e338e16b497ce9bca8cc454e GIT binary patch literal 249344 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

J70s4n-O2&ly9=xVCniuu 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 ZMWmusOGzI33RN*6Hs#1p$bS~U{|P0xoy-6L literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..674fca6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +selenium +robotframework +robotframework-appiumlibrary \ No newline at end of file From 9260679f7a20d4e056eec41de51339583a326596 Mon Sep 17 00:00:00 2001 From: Devansh Bhardwaj <95698164+Devansh013@users.noreply.github.com> Date: Thu, 26 May 2022 16:07:03 +0530 Subject: [PATCH 2/5] Updated Robot With Appium READ.ME File (#2) --- README.md | 160 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 136 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 5cbb7bf..a45d242 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,182 @@ -# LT-appium-python-robot -Sample repo to run app automation on robot framework real device on LambdaTest +# Robot ![pw](https://img.shields.io/badge/Robot%20Framework-000000?style=for-the-badge&logo=robot-framework&logoColor=white) -## Pre-requisites + + +*Robot Framework is a flexible, open-source test automation tool that can be used for acceptance testing and acceptance test-driven development. It's a keyword-driven testing framework that uses tabular test data syntax.* + +*Learn the basics of [Appium testing on the LambdaTest platform.](https://www.lambdatest.com/support/docs/getting-started-with-appium-testing/)* + +## Table of Contents + +* [Objective](#objective) +* [Pre-requisites](#pre-requisites) +* [Run Your First Test](#run-your-first-test) + +## Robot With Appium + +In this topic, you will learn how to configure and run your **Robot** automation testing scripts with **Appium** on **LambdaTest Real Device Cloud platform**. ---- +## Objective + +By the end of this topic, you will be able to: + +1. Run a sample automation script of **Robot** for application testing with **Appium** on **LambdaTest**. +2. Learn more about Desired Capabilities for Appium testing. +3. Explore advanced features of LambdaTest. + +## Pre-requisites Before you can start performing App automation testing with Appium, you would need to follow these steps: -- Install the latest stable Python build from the [official website](https://www.python.org/downloads/). We recommend using the latest version. +- Install the latest stable Python build from the [official website](https://www.python.org/downloads/). - Make sure **pip** is installed in your system. You can install **pip** from [here](https://pip.pypa.io/en/stable/installation/). ### Clone The Sample Project -**Step-1:** Clone the LambdaTest's [LT-appium-python-robot](https://github.com/LambdaTest/LT-appium-python-robot) and navigate to the code directory as shown below: +**Step-1:** Clone the LambdaTest’s :link: [LT-appium-python-robot](https://github.com/LambdaTest/LT-appium-python-robot) repository and navigate to the code directory as shown below: ```bash git clone https://github.com/LambdaTest/LT-appium-python-robot cd LT-appium-python-robot ``` - ### Setting Up Your Authentication Make sure you have your LambdaTest credentials with you to run test automation scripts on LambdaTest. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans) or access the [Automation Dashboard](https://appautomation.lambdatest.com/). -**Step-2:** Set LambdaTest `Username` and `Accesskey` in the Common.robot file. +**Step-2:** Replace LambdaTest `username` and `accesskey` in the `common.robot` file as mentioned below: + +```js title="common.robot" +*** Settings *** +Library AppiumLibrary + +*** Variables *** +// highlight-start +${username} username +${accesskey} accesskey +// highlight-end +${REMOTE_URL} https://${username}:${accesskey}@mobile-hub.lambdatest.com/wd/hub +${TIMEOUT} 3000 + +*** Keywords *** +Open test app + Open Application ${REMOTE_URL} platformName=${platform} platformVersion=${version} deviceName=${deviceName} visual=${visual} network=${network} isRealMobile=${isRealMobile} app=${app} name=Robot Framework Sample Test build=Appium Python Robot + +Close test app + Close Application +``` ### Upload Your Application **Step-3:** Upload your **_iOS_** application (.ipa file) or **_android_** application (.apk file) to the LambdaTest servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: -```bash -curl -u "YOUR_LAMBDATEST_USERNAME":"YOUR_LAMBDATEST_ACCESS_KEY" \ ---location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \ ---form 'name="Android_App"' \ +**Using App File:** + +**For Linux/macOS:** + +{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" \\ +--location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \\ +--form 'name="Android_App"' \\ --form 'appFile=@"/Users/macuser/Downloads/proverbial_android.apk"' +`} + +**For Windows:** + +{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -F "appFile=@"/Users/macuser/Downloads/proverbial_android.apk""`} + +**Using App URL:** + +**For Linux/macOS:** +{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" \\ +--location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \\ +--form 'name="Android_App"' \\ +--form 'url="https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk"'`} + +**For Windows:** + +{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -d "{\"url\":\"https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk\",\"name\":\"sample.apk\"}"`} + +**Tip:** + +- If you do not have any **.apk** or **.ipa** file, you can run your sample tests on LambdaTest by using our sample :link: [Android app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk) or sample :link: [iOS app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_ios.ipa). +- Response of above cURL will be a **JSON** object containing the `App URL` of the format - and will be used in the next step. + +## Run Your First Test + +Once you are done with the above-mentioned steps, you can initiate your first Robot test on LambdaTest. + +Test Scenario: Check out [Android.robot](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/Android.robot) file to view the sample test script for android and [iOS.java](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/IOS.robot) for iOS. + +### Configuring Your Test Capabilities + +**Step-4:** You need to update your capabilities in `Makefile` files. In this sample project, we have provided the examples for running tests on both **Android** and **iOS** apps. We are passing platform name, platform version, device name and app url (generated earlier) along with other capabilities like build name and test name via capabilities object. The capabilities object in the sample code for a single test are defined as: + +```python title="Makefile" +test_Android1: + robot --variable version:10 --variable platform:Android --variable deviceName:"Galaxy S20" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/Android.robot + +test_iOS1: + robot --variable version:14 --variable platform:iOS --variable deviceName:"iPhone 11" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/IOS.robot ``` -> **Note:** -> -> - Ensure to add the app_url received in the makefile. -> - If you do not have any **.apk** or **.ipa** file, you can run your sample tests on LambdaTest by using our sample [Android app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk) or sample [iOS app](https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_ios.ipa). -> - Response of above cURL will be a **JSON** object containing the `App URL` of the format - and will be used in the next step. +**Info Note:** + +- You must add the generated **APP_URL** to the `"app"` capability in the config file. +- You can generate capabilities for your test requirements with the help of our inbuilt :link: **[Capabilities Generator tool](https://www.lambdatest.com/capabilities-generator/beta/index.html)**. A more Detailed Capability Guide is available [here :page_facing_up:](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/) . ### Executing The Tests -**Step-4:** Run the following command in the directory wto install the relevant dependencies. +**Step-5:** Run the following command in the directory to install the relevant dependencies. ```bash pip install -r requirements.txt ``` -**Step-5:** Run the following command in the directory where your project has been saved to execute your build. +**Step-6:** Execute the following command to run your test on LambdaTest platform: + + + + ```bash make test_iOS1 ``` + + + + ```bash make test_Android1 ``` -**Running tests in Parallel :** Run the following command to run tests in parallel + -```bash -make -j test_Android1 test_Android2 test_iOS1 test_iOS2 -``` + + +**Info:** Your test results would be displayed on the test console (or command-line interface if you are using terminal/cmd) and on the :link: [LambdaTest App Automation Dashboard](https://appautomation.lambdatest.com/build). + +## Additional Links + +- [Advanced Configuration for Capabilities](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/) +- [How to test locally hosted apps](https://www.lambdatest.com/support/docs/testing-locally-hosted-pages/) +- [How to integrate LambdaTest with CI/CD](https://www.lambdatest.com/support/docs/integrations-with-ci-cd-tools/) + +## LambdaTest Community :busts_in_silhouette: + +The [LambdaTest Community](https://community.lambdatest.com/) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe. + +## Documentation & Resources :books: + +If you want to learn more about the LambdaTest's features, setup, and usage, visit the [LambdaTest documentation](https://www.lambdatest.com/support/docs/). You can also find in-depth tutorials around test automation, mobile app testing, responsive testing, manual testing on [LambdaTest Blog](https://www.lambdatest.com/blog/) and [LambdaTest Learning Hub](https://www.lambdatest.com/learning-hub/). + + ## About LambdaTest + +[LambdaTest](https://www.lambdatest.com) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs. + +[](https://accounts.lambdatest.com/register) + +## We are here to help you :headphones: -Your test results would be displayed on the test console (or command-line interface if you are using terminal/cmd) and on the [LambdaTest App Automation Dashboard](https://appautomation.lambdatest.com/build). \ No newline at end of file +* Got a query? we are available 24x7 to help. [Contact Us](mailto:support@lambdatest.com) +* For more info, visit - https://www.lambdatest.com From d6a83e645baaa5f90635fe862b8a405674a8f9ff Mon Sep 17 00:00:00 2001 From: Devansh Bhardwaj <95698164+Devansh013@users.noreply.github.com> Date: Mon, 6 Jun 2022 17:39:31 +0530 Subject: [PATCH 3/5] Updated Robot With Appium README File (#3) * Updated Robot With Appium README File * Updated Robot With Appium README File * Updated Robot With Appium README File --- README.md | 141 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index a45d242..00503d4 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,37 @@ -# Robot ![pw](https://img.shields.io/badge/Robot%20Framework-000000?style=for-the-badge&logo=robot-framework&logoColor=white) - - - -*Robot Framework is a flexible, open-source test automation tool that can be used for acceptance testing and acceptance test-driven development. It's a keyword-driven testing framework that uses tabular test data syntax.* - -*Learn the basics of [Appium testing on the LambdaTest platform.](https://www.lambdatest.com/support/docs/getting-started-with-appium-testing/)* +# Robot With Appium ![pw](https://img.shields.io/badge/Robot%20Framework-000000?style=for-the-badge&logo=robot-framework&logoColor=white) + +

+ +

+ +

+ Blog +   ⋅   + Docs +   ⋅   + Learning Hub +   ⋅   + Newsletter +   ⋅   + Certifications +   ⋅   + YouTube +

+  +  +  + +*Robot Framework is a flexible, open-source test automation tool that can be used for acceptance testing and acceptance test-driven development. It's a keyword-driven testing framework that uses tabular test data syntax. Perform [JUnit test on LambdaTest's online cloud](https://www.lambdatest.com/appium-mobile-testing).* + +*Learn the basics of [Appium testing on the LambdaTest platform](https://www.lambdatest.com/support/docs/getting-started-with-appium-testing/).* + +[](https://accounts.lambdatest.com/register) ## Table of Contents -* [Objective](#objective) * [Pre-requisites](#pre-requisites) * [Run Your First Test](#run-your-first-test) - -## Robot With Appium - -In this topic, you will learn how to configure and run your **Robot** automation testing scripts with **Appium** on **LambdaTest Real Device Cloud platform**. - -## Objective - -By the end of this topic, you will be able to: - -1. Run a sample automation script of **Robot** for application testing with **Appium** on **LambdaTest**. -2. Learn more about Desired Capabilities for Appium testing. -3. Explore advanced features of LambdaTest. +* [Executing The Tests](#executing-the-tests) ## Pre-requisites @@ -33,7 +42,7 @@ Before you can start performing App automation testing with Appium, you would ne ### Clone The Sample Project -**Step-1:** Clone the LambdaTest’s :link: [LT-appium-python-robot](https://github.com/LambdaTest/LT-appium-python-robot) repository and navigate to the code directory as shown below: +Clone the LambdaTest’s :link: [LT-appium-python-robot](https://github.com/LambdaTest/LT-appium-python-robot) repository and navigate to the code directory as shown below: ```bash git clone https://github.com/LambdaTest/LT-appium-python-robot @@ -44,9 +53,9 @@ cd LT-appium-python-robot Make sure you have your LambdaTest credentials with you to run test automation scripts on LambdaTest. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans) or access the [Automation Dashboard](https://appautomation.lambdatest.com/). -**Step-2:** Replace LambdaTest `username` and `accesskey` in the `common.robot` file as mentioned below: +Replace LambdaTest `username` and `accesskey` in the `common.robot` file as mentioned below: -```js title="common.robot" +```bash title="common.robot" *** Settings *** Library AppiumLibrary @@ -68,33 +77,41 @@ Close test app ### Upload Your Application -**Step-3:** Upload your **_iOS_** application (.ipa file) or **_android_** application (.apk file) to the LambdaTest servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: +Upload your **_iOS_** application (.ipa file) or **_android_** application (.apk file) to the LambdaTest servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: **Using App File:** **For Linux/macOS:** -{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" \\ ---location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \\ ---form 'name="Android_App"' \\ +```js +curl -u "YOUR_LAMBDATEST_USERNAME:YOUR_LAMBDATEST_ACCESS_KEY" \ +--location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \ +--form 'name="Android_App"' \ --form 'appFile=@"/Users/macuser/Downloads/proverbial_android.apk"' -`} +``` **For Windows:** -{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -F "appFile=@"/Users/macuser/Downloads/proverbial_android.apk""`} +```js +curl -u "YOUR_LAMBDATEST_USERNAME:YOUR_LAMBDATEST_ACCESS_KEY" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -F "appFile=@"/Users/macuser/Downloads/proverbial_android.apk"" +``` **Using App URL:** **For Linux/macOS:** -{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" \\ ---location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \\ ---form 'name="Android_App"' \\ ---form 'url="https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk"'`} + +```js +curl -u "YOUR_LAMBDATEST_USERNAME:YOUR_LAMBDATEST_ACCESS_KEY" \ +--location --request POST 'https://manual-api.lambdatest.com/app/upload/realDevice' \ +--form 'name="Android_App"' \ +--form 'url="https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk"' +``` **For Windows:** -{`curl -u "${ YOUR_LAMBDATEST_USERNAME()}:${ YOUR_LAMBDATEST_ACCESS_KEY()}" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -d "{\"url\":\"https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk\",\"name\":\"sample.apk\"}"`} +```js +curl -u "YOUR_LAMBDATEST_USERNAME:YOUR_LAMBDATEST_ACCESS_KEY" -X POST "https://manual-api.lambdatest.com/app/upload/realDevice" -d "{"url":"https://prod-mobile-artefacts.lambdatest.com/assets/docs/proverbial_android.apk","name":"sample.apk"}" +``` **Tip:** @@ -105,13 +122,13 @@ Close test app Once you are done with the above-mentioned steps, you can initiate your first Robot test on LambdaTest. -Test Scenario: Check out [Android.robot](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/Android.robot) file to view the sample test script for android and [iOS.java](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/IOS.robot) for iOS. +**Test Scenario:** Check out [Android.robot](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/Android.robot) file to view the sample test script for android and [iOS.java](https://github.com/LambdaTest/LT-appium-python-robot/blob/master/Tests/IOS.robot) for iOS. ### Configuring Your Test Capabilities -**Step-4:** You need to update your capabilities in `Makefile` files. In this sample project, we have provided the examples for running tests on both **Android** and **iOS** apps. We are passing platform name, platform version, device name and app url (generated earlier) along with other capabilities like build name and test name via capabilities object. The capabilities object in the sample code for a single test are defined as: +You need to update your capabilities in `Makefile` files. In this sample project, we have provided the examples for running tests on both **Android** and **iOS** apps. We are passing platform name, platform version, device name and app url (generated earlier) along with other capabilities like build name and test name via capabilities object. The capabilities object in the sample code for a single test are defined as: -```python title="Makefile" +```bash title="Makefile" test_Android1: robot --variable version:10 --variable platform:Android --variable deviceName:"Galaxy S20" --variable isRealMobile:true --variable visual:true --variable network:false --variable console:false --variable app:"lt://" Tests/Android.robot @@ -124,15 +141,15 @@ test_iOS1: - You must add the generated **APP_URL** to the `"app"` capability in the config file. - You can generate capabilities for your test requirements with the help of our inbuilt :link: **[Capabilities Generator tool](https://www.lambdatest.com/capabilities-generator/beta/index.html)**. A more Detailed Capability Guide is available [here :page_facing_up:](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/) . -### Executing The Tests +## Executing The Tests -**Step-5:** Run the following command in the directory to install the relevant dependencies. +Run the following command in the directory to install the relevant dependencies. ```bash pip install -r requirements.txt ``` -**Step-6:** Execute the following command to run your test on LambdaTest platform: +Execute the following command to run your test on LambdaTest platform: @@ -162,21 +179,45 @@ make test_Android1 - [How to test locally hosted apps](https://www.lambdatest.com/support/docs/testing-locally-hosted-pages/) - [How to integrate LambdaTest with CI/CD](https://www.lambdatest.com/support/docs/integrations-with-ci-cd-tools/) +## Documentation & Resources :books: + +Visit the following links to learn more about LambdaTest's features, setup and tutorials around test automation, mobile app testing, responsive testing, and manual testing. + +* [LambdaTest Documentation](https://www.lambdatest.com/support/docs/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) +* [LambdaTest Blog](https://www.lambdatest.com/blog/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) +* [LambdaTest Learning Hub](https://www.lambdatest.com/learning-hub/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) + ## LambdaTest Community :busts_in_silhouette: -The [LambdaTest Community](https://community.lambdatest.com/) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe. +The [LambdaTest Community](https://community.lambdatest.com/) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe 🌎 -## Documentation & Resources :books: - -If you want to learn more about the LambdaTest's features, setup, and usage, visit the [LambdaTest documentation](https://www.lambdatest.com/support/docs/). You can also find in-depth tutorials around test automation, mobile app testing, responsive testing, manual testing on [LambdaTest Blog](https://www.lambdatest.com/blog/) and [LambdaTest Learning Hub](https://www.lambdatest.com/learning-hub/). - - ## About LambdaTest +## What's New At LambdaTest ❓ -[LambdaTest](https://www.lambdatest.com) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs. +To stay updated with the latest features and product add-ons, visit [Changelog](https://changelog.lambdatest.com/) + +## About LambdaTest + +[LambdaTest](https://www.lambdatest.com) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs. + +### Features + +* Run Selenium, Cypress, Puppeteer, Playwright, and Appium automation tests across 3000+ real desktop and mobile environments. +* Real-time cross browser testing on 3000+ environments. +* Test on Real device cloud +* Blazing fast test automation with HyperExecute +* Accelerate testing, shorten job times and get faster feedback on code changes with Test At Scale. +* Smart Visual Regression Testing on cloud +* 120+ third-party integrations with your favorite tool for CI/CD, Project Management, Codeless Automation, and more. +* Automated Screenshot testing across multiple browsers in a single click. +* Local testing of web and mobile apps. +* Online Accessibility Testing across 3000+ desktop and mobile browsers, browser versions, and operating systems. +* Geolocation testing of web and mobile apps across 53+ countries. +* LT Browser - for responsive testing across 50+ pre-installed mobile, tablets, desktop, and laptop viewports + +[](https://accounts.lambdatest.com/register) -[](https://accounts.lambdatest.com/register) ## We are here to help you :headphones: -* Got a query? we are available 24x7 to help. [Contact Us](mailto:support@lambdatest.com) -* For more info, visit - https://www.lambdatest.com +* Got a query? we are available 24x7 to help. [Contact Us](support@lambdatest.com) +* For more info, visit - [LambdaTest](https://www.lambdatest.com/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) From 70864aaae301a7e5077d4ad455f4eca738d8ae43 Mon Sep 17 00:00:00 2001 From: Likith Kumar <97941433+likith-lt@users.noreply.github.com> Date: Tue, 14 Jun 2022 15:55:16 +0530 Subject: [PATCH 4/5] Update hub url --- Resources/Common.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Common.robot b/Resources/Common.robot index d90768f..bcc75c8 100644 --- a/Resources/Common.robot +++ b/Resources/Common.robot @@ -5,7 +5,7 @@ Library AppiumLibrary ${username} username ${accesskey} accesskey -${REMOTE_URL} https://${username}:${accesskey}@beta-hub.lambdatest.com/wd/hub +${REMOTE_URL} https://${username}:${accesskey}@mobile-hub.lambdatest.com/wd/hub ${TIMEOUT} 3000 *** Keywords *** @@ -13,4 +13,4 @@ Open test app Open Application ${REMOTE_URL} platformName=${platform} platformVersion=${version} deviceName=${deviceName} visual=${visual} network=${network} isRealMobile=${isRealMobile} app=${app} name=Robot Framework Sample Test build=Appium Python Robot Close test app - Close Application \ No newline at end of file + Close Application From d9e00d0935872b2a1abe2c610547b595614de3e6 Mon Sep 17 00:00:00 2001 From: Salman Khan <70570645+salmanlt@users.noreply.github.com> Date: Fri, 17 Jun 2022 19:59:52 +0530 Subject: [PATCH 5/5] Update README.md (#5) --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 00503d4..94f9e79 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,11 @@     -*Robot Framework is a flexible, open-source test automation tool that can be used for acceptance testing and acceptance test-driven development. It's a keyword-driven testing framework that uses tabular test data syntax. Perform [JUnit test on LambdaTest's online cloud](https://www.lambdatest.com/appium-mobile-testing).* +*Robot Framework is a flexible, open-source test automation tool that can be used for acceptance testing and acceptance test-driven development. It's a keyword-driven testing framework that uses tabular test data syntax. Perform [JUnit test on LambdaTest's online cloud](https://www.lambdatest.com/appium-mobile-testing?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot).* -*Learn the basics of [Appium testing on the LambdaTest platform](https://www.lambdatest.com/support/docs/getting-started-with-appium-testing/).* +*Learn the basics of [Appium testing on the LambdaTest platform](https://www.lambdatest.com/support/docs/getting-started-with-appium-testing/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot).* -[](https://accounts.lambdatest.com/register) +[](https://accounts.lambdatest.com/register?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) ## Table of Contents @@ -51,7 +51,7 @@ cd LT-appium-python-robot ### Setting Up Your Authentication -Make sure you have your LambdaTest credentials with you to run test automation scripts on LambdaTest. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans) or access the [Automation Dashboard](https://appautomation.lambdatest.com/). +Make sure you have your LambdaTest credentials with you to run test automation scripts on LambdaTest. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) or access the [Automation Dashboard](https://appautomation.lambdatest.com/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot). Replace LambdaTest `username` and `accesskey` in the `common.robot` file as mentioned below: @@ -139,7 +139,7 @@ test_iOS1: **Info Note:** - You must add the generated **APP_URL** to the `"app"` capability in the config file. -- You can generate capabilities for your test requirements with the help of our inbuilt :link: **[Capabilities Generator tool](https://www.lambdatest.com/capabilities-generator/beta/index.html)**. A more Detailed Capability Guide is available [here :page_facing_up:](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/) . +- You can generate capabilities for your test requirements with the help of our inbuilt :link: **[Capabilities Generator tool](https://www.lambdatest.com/capabilities-generator/beta/index.html?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot)**. A more Detailed Capability Guide is available [here :page_facing_up:](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) . ## Executing The Tests @@ -171,13 +171,13 @@ make test_Android1 -**Info:** Your test results would be displayed on the test console (or command-line interface if you are using terminal/cmd) and on the :link: [LambdaTest App Automation Dashboard](https://appautomation.lambdatest.com/build). +**Info:** Your test results would be displayed on the test console (or command-line interface if you are using terminal/cmd) and on the :link: [LambdaTest App Automation Dashboard](https://appautomation.lambdatest.com/build?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot). ## Additional Links -- [Advanced Configuration for Capabilities](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/) -- [How to test locally hosted apps](https://www.lambdatest.com/support/docs/testing-locally-hosted-pages/) -- [How to integrate LambdaTest with CI/CD](https://www.lambdatest.com/support/docs/integrations-with-ci-cd-tools/) +- [Advanced Configuration for Capabilities](https://www.lambdatest.com/support/docs/desired-capabilities-in-appium/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) +- [How to test locally hosted apps](https://www.lambdatest.com/support/docs/testing-locally-hosted-pages/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) +- [How to integrate LambdaTest with CI/CD](https://www.lambdatest.com/support/docs/integrations-with-ci-cd-tools/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) ## Documentation & Resources :books: @@ -189,7 +189,7 @@ Visit the following links to learn more about LambdaTest's features, setup and t ## LambdaTest Community :busts_in_silhouette: -The [LambdaTest Community](https://community.lambdatest.com/) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe 🌎 +The [LambdaTest Community](https://community.lambdatest.com/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe 🌎 ## What's New At LambdaTest ❓ @@ -197,7 +197,7 @@ To stay updated with the latest features and product add-ons, visit [Changelog]( ## About LambdaTest -[LambdaTest](https://www.lambdatest.com) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs. +[LambdaTest](https://www.lambdatest.com?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs. ### Features @@ -214,10 +214,10 @@ To stay updated with the latest features and product add-ons, visit [Changelog]( * Geolocation testing of web and mobile apps across 53+ countries. * LT Browser - for responsive testing across 50+ pre-installed mobile, tablets, desktop, and laptop viewports -[](https://accounts.lambdatest.com/register) +[](https://accounts.lambdatest.com/register?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot) ## We are here to help you :headphones: -* Got a query? we are available 24x7 to help. [Contact Us](support@lambdatest.com) +* Got a query? we are available 24x7 to help. [Contact Us](mailto:support@lambdatest.com) * For more info, visit - [LambdaTest](https://www.lambdatest.com/?utm_source=github&utm_medium=repo&utm_campaign=LT-appium-python-robot)