- collaboration
- Invite Team Members
- Assign Projects
- Users & Role Management
- Review Management [Test Cases]
- Review Management [Elements]
- Execution Controls
- test cases
- Test Cases
- Test Case List Actions
- Import and Export Test Cases
- Import Test Project Test Cases
- Importing Postman Collections and Environments
- Test cases for Desktop Windows
- Update Test Case result in a Test Plan
- Test cases for Mobile Web Application
- Test Step Types
- Type: Natural Language
- Type: REST API
- Type: Step Group
- Type: For Loop
- Type: While Loop
- Type: Block
- Type: If Condition
- Nested Step Groups
- Create Test Steps
- Image Injection
- Cross-application testing
- Test Data Types
- Raw
- Parameter
- Runtime
- Random
- Data Generator
- Phone Number
- Mail Box
- Environment
- Concat Test Data
- Create Test Data [Parameter]
- Update Test Data Profile
- Updating Value in TDP
- Import TDP
- Bulk Deletion of a Test Data Profile
- Create Test Data [Environment]
- Elements (Objects)
- Web Applications
- Record Multiple Elements
- Record Single Element
- Create Elements
- Supported Locator Types
- Formulating Elements
- Shadow DOM Elements
- Verifying elements in Chrome DevTools
- Handling iframe Elements?
- Dynamic Locators using Parameter
- Dynamic Locators using Runtime
- Using Environment Test Data for Dynamic locators
- Import/Export Elements
- AI Enabled Auto-Healing
- test step recorder
- Install Chrome Extension
- Install Firefox Extension
- Install Edge Extension
- Exclude Attributes/Classes
- test plans
- Add, Edit, Delete Test Machines
- Add, Edit, Delete Test Suites
- Schedule Test Plans
- Run Test Suites In Parallel
- Cross Browser Testing
- Distributed Testing
- Headless Testing
- Test Lab Types
- Disabling Test Cases in Test Plans
- AfterTest Case
- Post Plan Hook
- AfterTest Suite
- Email Configuration in Test Plan
- Execute Partial Test Plans via API
- Ad-hoc Run
- Test Plan Executions
- Dry Runs on Local Devices
- Run Tests on Vendor Platforms
- Run Test Plans on Local Devices
- Test Locally Hosted Applications
- Debug Test Case Failures
- Parallel and Allowed queues
- debugging
- Debug results on local devices (Web applications)
- Debug Results on Local Devices
- Launch Debugger in the Same Window
- Testsigma Agent
- Pre-requisites
- Setup: Windows, Mac, Linux
- Setup: Android Local Devices
- Setting up iOS Local Devices
- Update Agent Manually
- Update Drivers Manually
- Delete Corrupted Agent
- Triggering Tests on Local Devices
- troubleshooting
- Agent - Startup and Registration Errors
- Fetching Agent logs
- Upgrade Testsigma Agent Automatically
- Testsigma Agent - FAQs
- continuous integration
- Test Plan Details
- REST API (Generic)
- Jenkins
- Azure DevOps
- AWS DevOps
- AWS Lambda
- Circle CI
- Bamboo CI
- Travis CI
- CodeShip CI
- Shell Script(Generic)
- Bitrise CI
- GitHub CICD
- Bitbucket CICD
- GitLab CI/CD
- desired capabilities
- Most Common Desired Capabilities
- Browser Console Debug Logs
- Geolocation Emulation
- Bypass Unsafe Download Prompt
- Geolocation for Chrome & Firefox
- Custom User Profile in Chrome
- Emulate Mobile Devices (Chrome)
- Add Chrome Extension
- Network Throttling
- Network Logs
- Biometric Authentication
- Enable App Resigning in iOS
- Enable Capturing Screenshots (Android & iOS)
- Configure Android WebViews
- Incognito/Private mode
- Set Google Play Store Credentials
- addons
- What is an Addon?
- Addons Community Marketplace
- Install Community Addon
- Prerequisites(Create/Update Addon)
- Create an Addon
- Update Addon
- Addon Types
- Create a Post Plan Hook add-on in Testsigma
- Create OCR Text Extraction Addon
- configuration
- API Keys
- Security(SSO)
- Setting Up Google Single Sign-On(SSO) Login in Testsigma
- Setting Up Okta Single Sign-On Integration with SAML Login in Testsigma
- Setting up SAML-based SSO login for Testsigma in Azure
- iOS Settings
- Creating WDA File for iOS App Testing
- uploads
- Upload Files
- Upload Android and iOS Apps
- How to generate mobile builds for Android/iOS applications?
- Testsigma REST APIs
- Environments
- Elements
- Test Plans
- Upload Files
- Get Project wide information
- Upload and update test data profile
- Trigger Multiple Test Plans
- Trigger Test Plan remotely and wait until Completion
- Run the same Test Plan multiple times in Parallel
- Schedule, Update and Delete a test plan using API
- Update Test Case results using API
- Create and update values of Test Data Profile using REST API
- Rerun Test Cases from Run Results using API
- open source dev environment setup
- macOS and IntelliJ Community Edition
- macOS and IntelliJ Ultimate Edition
- Windows and IntelliJ Ultimate Edition
- Setup Dev Environment [Addons]
- NLPs
- Unable to retrieve value stored in text element
- Unable to capture dropdown element
- Unable to Select Radiobutton
- Unable to Click Checkbox
- setup
- Server Docker Deployment Errors
- Secured Business Application Support
- Troubleshooting Restricted Access to Testsigma
- Why mobile device not displayed in Testsigma Mobile Test Recorder?
- Unable to create new test session due to unexpected error
- web apps
- URL not accessible
- Test Queued for a Long Time
- Issues with UI Identifiers
- Missing Elements in Recorder
- Collecting HAR File
- mobile apps
- Failed to Start Mobile Test Recorder
- Troubleshooting “Failed to perform action Mobile Test Recorder” error
- Test Execution State is Queued for a Long Time
- Mobile app keeps stopping after successful launch
- More pre-requisite settings
- Unable to start WDA Process on iPhone
- Most Common causes for Click/Tap NLP failure
- Finding App Package & App Activity (Android)
- on premise setup
- On-Premise Setup Prerequisites
- On-Premise Setup with Docker-compose File
- Post-Installation Checklist for On-Premise Setup
- Install Docker on an Unix OS in Azure Infrastructure
- SMTP Configuration in Testsigma
- Configure Custom Domains
- salesforce testing
- Intro: Testsigma for Salesforce Testing
- Creating a Connected App
- Creating a Salesforce Project
- Creating Metadata Connections
- Adding User Connections
- Build Test Cases: Manual+Live
- Salesforce Element Repositories
- Intro: Testsigma Special NLPs
macOS and IntelliJ Ultimate Edition
Pre-Requisites
- OS: macOS / Linux
- IDE: IntelliJ IDE Editor - Ultimate Edition
Pre-Requisite Software and Service Installation
- Open JDK 11
- npm and nodejs (>= 12)
- Apache httpd
- mysql5.7
Java JDK
-
Download the Java JDK 11 from the following link,
- Once it is installed, you can type the java -version in the terminal to confirm if the Java installation is successful.
-
Set env path in zshrc profile.
- Open the terminal and type vi ~/.zshrc
- Enter the below to set the path and save it.
- Export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
Node js
-
Down the node from the following link:
- Once it is installed, you can type node -v in the terminal to confirm if the node installation is successful.
Apache httpd
- Install apache httpd via Homebrew.
- Make sure Xcode is installed on your mac (install it via AppStore or https://developer.apple.com/downloads)
-
To Install brew, open your terminal and type in:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
-
Next, to install apache httpd, type in:
brew install httpd
-
To start the httpd service, type in:
sudo brew services start httpd
MySQL
- Install MySQL via Homebrew as well.
-
To install:
brew install mysql@5.7
-
After installation, set the path in the bash profile.
- In the terminal type, vi ~/.zshrc
- Paste export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"
-
Start the mysql server using:
brew services start mysql@5.7
-
The default username and password for the MySQL connection is “root”. You can connect to MySQL using:
mysql -u root -p
- A prompt to enter the password will be shown. You can type in “root” again.
Setup
-
Download the source from GitHub: git clone https://github.com/Testsigmahq/testsigma and place it on your system. The downloaded source will have the below folders.
- agent
- agent-launcher
- automator
- deploy
- server
- ui
- Now, open IntelliJ IDE and create a new JAVA project.
- The next step is to import the automator, agent, agent launcher, server, and ui as individual modules in the project created.
-
How to import modules in IntelliJ IDE:
- Go to File → Project structure
- In the Project structure window, you can see modules under the project settings section.
- Click on the modules tab and click the + icon and select import module.
- Now select each folder i.e. automator, agent, agent-launcher, server, ui, and import them.
- While importing modules (automator, agent, agent-launcher, server), select the option Import module from external module and then choose Maven and click on create.
-
Only while importing ui as a module, choose the option Create module from existing sources and click on Next.
- The framework will be detected as angular
- Click on Create
-
Build each module using the command mentioned, in the following order:
- automator: mvn clean install
- agent: mvn clean install
- agent-launcher: mvn clean install
- server: mvn clean install
- ui: npm install
-
Downloading required tools:
-
Create a folder testsigma_os in the home directory. This can be done by running the below command from the terminal:
mkdir $HOME/.testsigma_o
-
Download the Android, Appium, JRE, and iOS tools from this URL and store them in the above folder created. Make sure you extract the zip and place the contents in the folder created. For mac Os you need to give explicit permission to remove the quarantine attribute. You can do this by running,
sudo xattr -d -r com.apple.quarantine $HOME/.testsigma_os/
- Also, if you have already downloaded the Testsigma Agent, you can copy Android, Appium, drivers, and iOS and put the same on testsigma_os.
-
-
HTTPD Config Changes:
- From the finder window on Mac, press command+shift+g and mention the path opt/homebrew/etc/httpd
-
Create a new file called testsigma-os.conf. Enter the below contents in it and save the file.
RewriteEngine On RewriteCond %{HTTP_HOST} "devos.testsigma.com" RewriteCond %{REQUEST_URI} "^/ui/" RewriteRule .* http://localhost:4202%{REQUEST_URI} [P] #ProxyPassReverse .* "http://devos.testsigma.com/ui" RewriteCond %{HTTP_HOST} "devos.testsigma.com" RewriteCond %{REQUEST_URI} "^/assets/" RewriteRule .* http://localhost:4202%{REQUEST_URI} [P] #ProxyPassReverse .* "http://devos.testsigma.com/assets" RewriteCond %{HTTP_HOST} "devos.testsigma.com" RewriteRule .* http://localhost:9090%{REQUEST_URI} [P] #ProxyPassReverse .* "http://devos.testsigma.com/" RewriteCond %{HTTP_HOST} "devos.testsigma.com" RewriteCond %{REQUEST_URI} "^/ui" RewriteRule .* http://localhost:4202%{REQUEST_URI} [P] #ProxyPassReverse .* "http://devos.testsigma.com/ui"
-
Open httpd.conf present in the same path and add the below content at the bottom of the file and save it.
- Include /opt/homebrew/etc/httpd/testsigma-os.conf
-
Restart the httpd services using the following command from the terminal
- brew services restart httpd
Setting up UI, Server, and Agent component as a service
Once the above configuration is done, we need to add UI, Server, and Agent as a service so that the entire application runs.
-
Setting up server component as a service:
- Go to Run → Edit Configurations.
- Select + Icon in the Run/Debug Configurations window.
- Select Sprint Boot as the configuration type.
- Enter the name as server.
- Select Java 11 as the JDK version and testsigma-agent as the classpath.
- Enter com.testsigma.agent.TestsigmaWebApplication as the class to be compiled.
-
If the Environment Variables field is not visible, Click the Modify option and select Environment Variables.
-
Enter the below values for Environment Variables.
TESTSIGMA_SERVER_URL=http://devos.testsigma.com;TS_DATA_DIR=/Users/{USERHOMEDIR}/Documents/server-os-data
-
TS_DATA_DIR is a temp folder to store data. so, you can create one and mention the path of the folder above.
NOTE:Replace {USERHOMEDIR} with your home directory name.
-
- Click Ok
- The server module is added as a service now.
- Reference:
-
Setting up agent component as a service:
- Go to Run → Edit Configurations.
- Select + Icon in the Run/Debug Configurations window.
- Select Sprint Boot as the configuration type.
- Enter the name as agent.
- Select Java 11 as the JDK version and testsigma-agent as the classpath.
- Enter com.testsigma.agent.TestsigmaAgent as the class to be compiled.
-
Add VM options from Modify options if it's not visible and add the Virtual Machine agents in the below format.
-DTS_DATA_DIR="/Users/{USERHOMEDIR}/Library/Application Support/Testsigma/Agent" -DTS_ROOT_DIR="/Users/{USERHOMEDIR}/.testsigma_mac" -DCLOUD_URL="http://devos.testsigma.com/"
NOTE:Replace {USERHOMEDIR} with your home directory name
- Click Ok
- The agent module is added as a service now.
- Reference:
-
Setting ui agent component as a service:
- Go to Run → Edit Configurations.
- Select + Icon in the Run/Debug Configurations window.
- Select npm as the configuration type.
- Enter the name as ui.
- For package.json: select the package.json file present in the ui folder from the downloaded source.
- Select run for command and start for Scripts.
- Click Ok
- ui is added as a service now.
-
Running the application as a service:
-
You can now start the services one by one from the services tab in IntelliJ.
- ui
- server
- agent
-
-
Mapping localhost to devos.testsigma.com:
- From the finder window on Mac, press command+shift+g and mention the path private/etc/hosts
-
Open the hosts file and add an entry as below:
127.0.0.1 devos.testsigma.com
- You can now access the server at http://devos.testsigma.com/ui/