Select Page
Codoid Tester Companion Logo

Codoid Tester Companion

Local AI Tool

  • AI-Powered
  • Local AI
  • Freeware

Release Date: June 27, 2024

Please enter details to download

The Vision

Artificial Intelligence is set to transform various industries and the recent advancements are only accelerating this change. Our R&D team has been diligently exploring AI solutions in software testing and has made significant progress in developing tools for software testers.

We believe that AI’s true strength lies in enhancing human intelligence, not replacing it. This belief has driven us to create the Codoid Test Companion, a suite of advanced AI solutions that empower software testers to utilize AI’s potential fully.

This initiative isn’t about jumping on the AI trend. Since our inception, we’ve consistently contributed to the community, and we will continue to add valuable functionalities to our Testing Companion in the future.

Tool 1

Image-based Test Case Creator

Note : Requires a minimum of 16 GB RAM to work

  

Introducing our AI Image-based Test Case Generator Tool, your new essential companion for efficient software testing. The AI analyzes the application and generates relevant test cases, saving you countless hours of manual work to make the life of a tester easier. It ensures thorough coverage by identifying different application elements and you can even add additional information to get the desired results based on your needs. This automation allows you to focus on other critical aspects of your project, improving overall efficiency and productivity

Secure Offline Processing: Enjoy peace of mind with our tool’s offline functionality, ensuring that your data remains secure and confidential at all times.

Cross-Platform Compatibility: Fully compatible with both Windows and macOS, catering to diverse development environments.

Customizable Input: Enhance the accuracy of your results by providing additional information to guide the AI, tailoring test cases to meet your specific requirements.

Add your screenshots and watch the AI do all the work!

More Tools….
COMING SOON

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(0)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Robotil Logo

Robotil

Free Desktop Application Automation Testing Tool

Release Date: January 11, 2024

Please enter details to download

Robotil is a simple library to press/release keyboard keys, click coordinates, take screen-shot and invoke application on remote machine.

How to use

  • Download Robotil.jar
  • Start Robotil server on a remote machine.
    java -jar Robotil.jar (Default portNumber is 6666)
    java -jar Robotil.jar 5555
    
  • Reference Robotil jar in java project on a client machine
  • Create an object for Robotil class by mentioning remote IP and port
  • Now, it is ready to use
  • Example

    Robotil robotil=new Robotil("localhost", 5555); 
    robotil.pressAndReleaseKey(KeyEvent.VK_ENTER);
    

Methods

PressKey
To press a keyboard key

robotil.pressKey(KeyEvent.VK_A);

ReleaseKey
To release a keyboard key

robotil.releaseKey(KeyEvent.VK_A);

PressAndReleaseKey
To press and release a keyboard key.

robotil.pressAndReleaseKey(KeyEvent.VK_A);

MouseClick
To click X and Y coordinates

robotil.mouseClick(10,30,InputEvent.BUTTON1_MASK)

InvokeApplication
To invoke remote application

robotil.invokeApplication("notepad.exe");

PutFile
To send a file to a remote machine

robotil.putFile("C:sourceFile.txt","C:destFile.txt")

CaptureScreen
To capture screen-shot

robotil.captureScreen("C:imgsrobotiltest.png")

Contributors

Iva Dimitrova Trendafilova & Asiq Ahamed

Please enter details to download

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(0)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Welldree Logo

WelDree

Cucumber Feature Executor

Release Date: June 11, 2019

Please enter details to download

WelDree is a UI to execute Cucumber Scenarios. How this tool development ideation was born? Once a Cucumber feature file is written and implemented, it can be executed using Jenkins, BAT file, and IDEs like IntelliJ & Eclipse. Executing individual scenario from IDE is an easy job for an automation tester.

However, if an non-technical person wants to run the scenarios, then he/she needs to open IDE/Jenkins/Terminal/Command Prompt to kick-off the execution by mentioning tags/scenario names & glue code. Using WelDree, you needn’t to use any technical tools. WelDree is created only to ease the individual automated test case execution.

Prerequisite

To use WelDree, installing Maven and configuring in Environment variable is must.

How to install WelDree?

Step 1:Download WelDree.jar file

Step 2:Copy and paste the downloaded jar file inside your Maven project

How to use?

Step 1:Double-click WelDree.jar file

Step 2:Once the tool is opened, you can see all the features which are available inside the resources folder. In order to start the execution, you need to add Glue code information using “Cucumber Option” menu as shown below.

WelDree How to use Step-2

Click ‘Add Option’ sub-menu under ‘Cucumber Option’ menu, enter ‘glue’ in “Option Name” textbox, enter glue code package in ‘Option Value’ textbox, and click “OK” button.

Note: You no need to add the glue code every time because Cucumber Options and Environment variables are getting saved in weldree.xml file.

Cucumber Scenario Executor

Step 3: For the first-time execution or if there is any change in your code, you have to compile the project before you run the scenarios.

Compiling the Cucumber project

Step 4: Once the project is compiled, you can perform the execution by selecting the feature and its scenario as shown below.

WelDree Scenario Execution
Note:

1. If you are using Environment Variables in your framework, then you can add the required variables using “Variables” menu.

2. If you are facing any issues with WelDree or would like to suggest new enhancements, please send an email to [email protected]

Please enter details to download

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(0)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Visgrid Logo

VisGrid

Selenium Grid UI

Release Notes

Release Date: January 11, 2024

Please enter details to download

VisGrid is a GUI for Selenium Grid. You can start Selenium grid hub, create and attach nodes very easily and quickly. You can also find a list of a list of previous releases and release notes

How to use?

  • 1) Download and extract ‘VisGrid.zip’ wherever you want
  • 2) Double click ‘VisGrid.jar’
  • 3) Click Start Hub button
  • 4) Now Hub is started and ‘Create Node’ & ‘Stop Hub’ buttons are displayed
  • 5) Click ‘Create Node’ button
  • 6) Select a browser and click ‘Add’ button
  • 7) That’s it. You have created Hub and attached a node successfully
  • 8) Hit http://localhost:4444/grid/console to cross check your actions

Report issues/Suggest Features

VisGrid-Google Group

Please enter details to download

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(0)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Fillo Logo

Fillo

Java Excel Library

  • Data Manipulation Tool
  • Freeware
  • Supports XLSX & XLS
Release Notes

Release Date: September 19, 2016

Please enter details to download

Fillo is an Excel API for Java and you can query xls & xlsx files. Now, it supports SELECT, UPDATE & INSERT queries with or without WHERE clause. You can also find a list of a list of previous releases and release notes.

Maven Dependency

<dependency>
  <groupId>com.codoid.products</groupId>
  <artifactId>fillo</artifactId>
  <version>1.22</version>
</dependency>

Select

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="Select * from Sheet1 where ID=100 and name='John'";
Recordset recordset=connection.executeQuery(strQuery);

while(recordset.next()){
System.out.println(recordset.getField("Details"));
}

recordset.close();
connection.close();

Update

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="Update Sheet1 Set Country='US' where ID=100 and name='John'";

connection.executeUpdate(strQuery);

connection.close();

Insert

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="INSERT INTO sheet4(Name,Country) VALUES('Peter','UK')";

connection.executeUpdate(strQuery);

connection.close();

Multiple Where conditions

//This is an enhancement in Fillo-1.11, now you can mention multiple conditions in a query as shown below.
Recordset recordset=connection.executeQuery("Select * from Sheet1 where column1=value1 and column2=value2 and column3=value3");

Where method

Recordset recordset=connection.executeQuery("Select * from Sheet1").where("ID=100").where("name='John'");

LIKE Operator

Recordset recordset=connection.executeQuery("Select * from Sheet1 where Name like 'Cod%'");

Distinct:

Recordset recordset = connection.executeQuery("SELECT DISTINCT ColumnName FROM SheetName");
while (recordset.next()) {
    System.out.println(recordset.getField("ColumnName"));
}

Set table starting row and column

//Now you can set table start row and column
System.setProperty("ROW", "5");//Table start row
System.setProperty("COLUMN", "3");//Table start column
Fillo fillo=new Fillo();
Connection connection=fillo.getConnection(strFile);

Email us, if you face any issues

[email protected]

Please enter details to download

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(0)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Gyra Logo

GYRA

Free Desktop Application Automation Testing Tool

  • Windows 8 to 11 Support
  • Supports Java
  • Image Comparison Features

Release Date: October 25, 2023

Please enter details to download

GYRA is a free Desktop Application Automation testing tool that we have developed to overcome the many challenges and limitations that are present in other tools. With the launch of GYRA, you can say goodbye to tools that have poor reliability, slow execution speeds, complex setup process, no active support, and lack of support for Java & Windows 11. As we have addressed all these major issues, we are confident that you will be able to enhance the quality of your desktop app automation testing.

Getting Started with GYRA:

As promised, GYRA will be an easy tool to use in comparison that has an easy setup and execution process. So make sure to follow the documentation and get a clear understanding of how GYRA works. Let’s start with the prerequisites, and then proceed to the code snippets you will need to know to perform various actions in the tool.

Pre-Requisite:

To use GYRA, you must set up the server and the client library by following a few simple steps that we have mentioned.

Step-1: Download the Gyra Server EXE File and Start the Server exe file.
(By default, the port number will be 3000)

gyra-server-1.0.exe (The default portNumber is 3000)
gyra-server-1.0.exe --port=8208

Step-2: Add this ‘Dependency’ in the Maven project.

<dependency>
    <groupId>com.codoid.products</groupId>
    <artifactId>gyra-client</artifactId>
    <version>1.0</version>
</dependency>

Example:

In this below-mentioned code, we have launched the Notepad application and clicked the ‘File’ option from the menu.

Server server = new Server("localhost", 3000);  
//To initialize the Server 

        server.openApplication("C:\\WINDOWS\\system32\\notepad.exe");
// To launch the Windows application

        Desktop desktop = server.getDesktop();
//By using this Server class object, we will take control of the Desktop first and then take control of all the running apps. 

        Window window = desktop.findWindow(By.name("untitled - Notepad"));      
//To find the window using the locator strategy and attach the window session in the window reference object.

        window.findElement(By.xpath("//MenuItem[@name='File']")).click();       
// Using findElement keyword, to find the particular element and then 'click' action performed.

The different locating strategies in Gyra-client are as follows:

window.findElement(By.name("File"));
window.findElement(By.partialName("Fil"));
window.findElement(By.controlType("MenuItem"));
window.findElement(By.automationId("Item 1"));
window.findElement(By.className("Menu Item1"));
window.findElement(By.xpath("//MenuItem[@name='File']"));

Special Note for Xpath Locators:

S. No Supported Not Supported
1 //MenuItem[@name=’File’] //Menu/MenuItem[@name=’File’]
2 //Edit[@ClassName=’TextBox’ and @name=’Search’] /root

Note: For the above-mentioned Locating technique[By.xpath], we have to be more precise in providing the element location. Because unlike Selenium, traversing through the element is not supported.

Find Elements:

The findElements command takes By object as the parameter and returns a list of windows elements.

Code:

 List<Element> hyperLinks = pane.findElements(By.controlType("hyperlink"));
        for (Element link : hyperLinks) {
            link.click();
        }

Code Snippets:

Now let’s take a look at the code snippets that will help you perform keyboard actions, mouse actions, screenshot comparison function, wait functions, and find element properties.

1. Native Events

2. Element Properties

3. Keyboard Actions

4. Mouse Actions

5. Screenshot Comparison Functions

6. Wait Functions

Native Events:

The actions we are about to see differ from the regular keyboard and mouse action commands as they will be performed directly on the Windows Native elements instead of mimicking the actual interaction of the user.

Single Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).click();

Double click:

window.findElement(By.xpath("//MenuItem[@name='File']")).doubleClick();

Mouse Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).mouseClick();
//To place the mouse pointer at the center of the element and perform a click. 

Right Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).rightClick();

SendKeys:

Element txtField =window.findElement(By.name("EditUser"));
txtField.sendKeys("Codoidian");
String strField=txtField.getValue(); 
// It’ll return the Text box value

ComboBox:

To select a particular option from the combobox

//Way-1
Element comboBoxSource=window.findElement(By.xpath("//ComboBox[@name='Source:']"));       
ComboBox comboBox = new ComboBox(comboBoxSource);
comboBox.select("Rear Tray");

//Way-2:
Element weekComboBox = window.findElement(By.automationId("firstDayOfWeek"));
ComboBox comboBox = new ComboBox(weekComboBox);
comboBox.expand();
weekComboBox.sendKeys("Monday");
comboBox.collapse();

Toggle:

Element btnToggle = window.findElement(By.automationId("Toggle"));
btnToggle.toggle();

Element Properties:

Element btnLogin = window.findElement(By.automationId("loginId"));

btnLogin.getName(); 
// To get the visible value for the element
btnLogin.getHelpText();    
 // Te retrieve the Tooltip

btnLogin.getTop();
btnLogin.getLeft();
btnLogin.getBottom();
btnLogin.getRight();
// You will be able to retrieve the Coordinates

Keyboard Actions:

Keyboard keyboard = desktop.getKeyboard();  
// To get complete control of the keyboard

keyboard.sendKeys("{WIN}");
// If you are passing any special key such as shift, alt, ctrl, and so on, make sure to use "Curly braces - {}"

If you want to press more than one key, you can use the below-mentioned pattern,

keyboard.sendKeys("{CTRL}X");
keyboard.sendKeys("{CTRL}{SHIFT}{ALT}S");

Mouse Actions:

Mouse mouse = server.getDesktop().getMouse();
// To get control of the mouse

Mouse Move:

mouse.move(10, 20);
//To move the mouse cursor to the specified X & Y Coordinates.

Click Action:

mouse.move(10, 20);
mouse.click(Keys.LEFT); // Left click
mouse.click(Keys.RIGHT); // Right Click
//To left/right click on the specified X and Y coordinates

Screenshot Comparison Functions:

By comparising the screenshot of the actual image with the expected image, GYRA will be able to give a score that denotes the difference between the actual and expected images. Likewise, GYRA will also be able to deliver a difference image depicting what the change between the two images are as well. So let’s see the code snippets for those functions.

Note: Make sure that the expected image is in the same resolution as the screenshot.

Capture Screenshot:

To capture a screenshot of the entire screen that we will later use to compare.

Example:

byte[] imgByte = server.getDesktop().takeScreenShot();
FileUtils.writeByteArrayToFile(new File("imgEntireScreenshot.png"), imgByte);

Get Difference from the Image Comparison:

This function can be used to compare the screenshot with the expected image and show the difference between the two images as a separate image.

Element msPaintPane = desk.findElement(By.automationId("59648"));
 ImageCompareOutput output = msPaintPane.compareScreenShot("report/Expected.png");
FileUtils.writeByteArrayToFile(new File("report/difference.png"), output.getDiffImage());

Get Score from the Image Comparison:

To get the score that denotes the difference between the two images. For example, if the images are a 100% match without any difference, the return value will be 0. If there are any differences, a value greater than 0 will return based on the level of the difference.

double scoreValue=output.getScore();
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println("--- Output Score: "+formatter.format(scoreValue));

Note: The difference score is calculated based on the difference in the RGB values and are highly accurate.

Compare Images:

You can also use GYRA to compare 2 images of your choice to get the difference image and score using the above-mentioned functions (getDiff & getScore).

Code:

ImageCompareOutput output = server.compareImage
                ("report/Actual.png", "report/Expected2.png");

Get Score from the Image Comparison:

Once the images have been compared, you will be provided with a score that denotes the difference between the actual and expected images. For example, if the images are a 100% match without any difference, the return value will be 0. If there are any differences, a value greater than 0 will return based on the level of the difference.

double scoreValue=output.getScore();
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println("--- Output Score: "+formatter.format(scoreValue));

Compare Image:

You can also use GYRA to compare 2 images of your choice. (Actual & Expected images)

Code:

ImageCompareOutput output = server.compareImage
                ("report/Actual.png", "report/Expected2.png");

Wait Functions:

Wait functions are very important to automation and you can wait for a window or even wait for an element using the below commands.

Wait for Window:
Window window = desktop.waitForWindow(By.partialName("Notepad"), 15);

Wait for Element:
Element txtAllowance = desktop.waitForElement(By.xpath("//Edit[@AutomationId='AllowancePeriod']"), 15);

Email us, if you face any issues

[email protected]

Please enter details to download

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *

Comments(1)

  • 5 months ago

    Every time I visit your site, I leave feeling more knowledgeable.

  • 5 months ago

    This is one of those articles I'll be coming back to time and again. Incredibly useful.

  • 5 months ago

    Keep up the fantastic work!

  • 8 months ago

    My brother suggested I might like this website. He was totally right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!

  • 8 months ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 8 months ago

    I am not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  • 9 months ago

    The depth of research in your articles is unparalleled.

  • 9 months ago

    I just like the helpful information you provide in your articles

  • 9 months ago

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

  • 9 months ago

    This is my first time pay a quick visit at here and i am really happy to read everthing at one place

  • 10 months ago

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

  • 10 months ago

    I appreciate the effort you put into creating this content. It's informative and well-written. Nice job!

  • 10 months ago

    [url=https://mtw.ru/colocation]дата центры москвы[/url] или [url=https://mtw.ru/colocation]colocation цод[/url] https://mtw.ru/colocation хостинг asp

  • 10 months ago

    Very helpful for beginners

  • 10 months ago

    Awesome! Its genuinely remarkable post, I have got much clear idea regarding from this post

  • 11 months ago

    This was beautiful Admin. Thank you for your reflections.

  • 11 months ago

    Greetings! I've been following your web site for some time now and finally got the bravery to go ahead and give you a shout out from Porter Tx! Just wanted to mention keep up the good job!

  • 11 months ago

    I like the efforts you have put in this, regards for all the great content.

  • 1 year ago

    I completely agree with the points discussed in this article. Software testing and quality assurance (QA) are crucial aspects of the software development life cycle. They play a vital role in ensuring the delivery of high-quality products to end-users. Overall, software testing and QA are essential for delivering quality products that meet user expectations. It is crucial for organizations to invest in skilled testing and QA professionals, establish effective processes, and leverage appropriate tools and frameworks to ensure comprehensive software quality. By doing so, companies can gain a competitive edge, build customer trust, and achieve long-term success.

  • 1 year ago

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    Thanks for one's marvelous posting! I genuinely enjoyed reading it, you could be a great author.I will be sure to bookmark your blog and will eventually come back in the foreseeable future. I want to encourage you to definitely continue your great job, have a nice holiday weekend!|

  • 1 year ago

    I am really delighted to glance ɑt this webpage ρⲟsts which caгries lots of valuɑble data, thanks for proѵiding such data.

  • 1 year ago

    I just like the helpful information you provide in your articles

  • 1 year ago

    Hi as a writer it's not easy to find relevant articles Google should work this direction. Actually I was looking for some information but I have to check 50 to 60 blogs and I don't remember exact number. This blog I find at 4th page and trust me I was surprised to find such a great article too far. But I would like to say thanks for providing such great information in free without any cost. That's why here I am commenting to give feedback.

  • 1 year ago

    Нello there, You've done a fantastic job. I'll definitely digg it and pers᧐nally suggest tⲟ my friends. I am cоnfident they will bе Ƅenefited from this site.

  • 1 year ago

    Thanks for very informative blog, its quite interesting.

  • 1 year ago

    Hi there, It's really very nice blog. I was here to read this blog and looking to collect some information about ott app development. You have covered all the points. Thanks for sharing.

  • 1 year ago

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

  • 1 year ago

    Pretty! This has been a really wonderful post. Many thanks for providing these details.

  • 1 year ago

    I’m often to blogging and I really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand-spanking new information.

  • 1 year ago

    I do not even understand how I ended up here, but I assumed this publish used to be great

  • 1 year ago

    It’s really a great and helpful piece of information. I am glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • 1 year ago

    This blog explains the relation between Continuous Testing and Agile Testing very well.

  • 1 year ago

    I just like the valuable info you provide for your articles. I'll bookmark your weblog and test again right here regularly. I am rather sure I will be informed many new stuff right right here! Good luck for the following!|

  • 1 year ago

    Excellent article and it covered all the major points along with a short explanation. Is it possible to provide a breakdown for accessibility testing WCAG 2.1 AA?

  • 1 year ago

    I appreciate you sharing this blog post. Thanks Again. Cool.

  • 1 year ago

    In it something is. Now all became clear to me, I thank for the information.

  • 1 year ago

    Pretty! This has been a really wonderful article. Many thanks for supplying this information.

  • 1 year ago

    Pretty! This was an extremely wonderful post. Thank you for supplying this info.

  • 1 year ago

    I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on some general things, The website style is ideal, the articles is really great : D. Good job, cheers

  • 1 year ago

    An outstanding share! I've just forwarded this onto a co-worker who had been conducting a little research on this. And he in fact ordered me lunch simply because I discovered it for him... lol. So let me reword this.... Thank YOU for the meal!! But yeah, thanx for spending some time to talk about this topic here on your site.

  • 1 year ago

    I like the valuable information you provide in your articles. I will bookmark your blog and check again here regularly. I'm quite sure I will learn a lot of new stuff right here! Best of luck for the next!

  • 1 year ago

    This actually answered my downside, thank you!

  • 1 year ago

    Way cool! Some eҳtгemely valid points! I appreciate you writing this article and tһе rest of the site is also rеally good.

  • 2 years ago

    You have posted very informative content. Thanks for sharing this quality information. Keep posting like this, and we will return to your website for more of this type of content.

  • 2 years ago

    #comment-3292 Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    The "Mobile App Testing Checklist" and "Mobile App Testing Tools" sections were quite helpful! I was able to understand it easily. Thank you for providing this insight. Regularly update outstanding blogs like this.

  • 2 years ago

    This is informative, step by step explanation with the flow helps a lot to understand the clear picture of mobile app testing.

  • 2 years ago

    Apart from the session creation call, all other requests will be forwarded to Node from Router directly. Each client request has a Session ID. Using the session ID, the Router queries the Node URI and finds the node which holds the session.

  • 2 years ago

    Test Comments troubleshoot failures and we can set up our own distributed execution elegantly.

  • 2 years ago

    Comment

  • 3 years ago

    how to clear all rows and columns except header

  • 3 years ago

    Nice tool

  • 3 years ago

    Testing the products comment section

  • 3 years ago

    Test the product section

  • 3 years ago

    Test comment reference

  • 3 years ago

    Thank you for the information regarding WelDree

  • 3 years ago

    thank you for useful information

  • 3 years ago

    Testing the comments in test posts.

  • 3 years ago

    Testing comment section2

  • 3 years ago

    Testing the test post section using the comments section

Talk to our Experts

Amazing clients who
trust us


poloatto
ABB
polaris
ooredo
stryker
mobility
Codoid Tester Companion

Codoid Tester Companion

The Vision

Artificial Intelligence is set to transform various industries and the recent advancements are only accelerating this change. Our R&D team has been diligently exploring AI solutions in software testing and has made significant progress in developing tools for software testers.

We believe that AI’s true strength lies in enhancing human intelligence, not replacing it. This belief has driven us to create the Codoid Test Companion, a suite of advanced AI solutions that empower software testers to utilize AI’s potential fully.

This initiative isn’t about jumping on the AI trend. Since our inception, we’ve consistently contributed to the community, and we will continue to add valuable functionalities to our Testing Companion in the future.

Tool 1

Image-based Test Case Creator

Note : Requires a minimum of 16 GB RAM to work

  

Introducing our AI Image-based Test Case Generator Tool, your new essential companion for efficient software testing. The AI analyzes the application and generates relevant test cases, saving you countless hours of manual work to make the life of a tester easier. It ensures thorough coverage by identifying different application elements and you can even add additional information to get the desired results based on your needs. This automation allows you to focus on other critical aspects of your project, improving overall efficiency and productivity

Secure Offline Processing: Enjoy peace of mind with our tool’s offline functionality, ensuring that your data remains secure and confidential at all times.

Cross-Platform Compatibility: Fully compatible with both Windows and macOS, catering to diverse development environments.

Customizable Input: Enhance the accuracy of your results by providing additional information to guide the AI, tailoring test cases to meet your specific requirements.

Add your screenshots and watch the AI do all the work!

More Tools….
COMING SOON

Robotil

Robotil

Robotil is a simple library to press/release keyboard keys, click coordinates, take screen-shot and invoke application on remote machine.

How to use

  • Download Robotil.jar
  • Start Robotil server on a remote machine.
    java -jar Robotil.jar (Default portNumber is 6666)
    java -jar Robotil.jar 5555
    
  • Reference Robotil jar in java project on a client machine
  • Create an object for Robotil class by mentioning remote IP and port
  • Now, it is ready to use
  • Example

    Robotil robotil=new Robotil("localhost", 5555); 
    robotil.pressAndReleaseKey(KeyEvent.VK_ENTER);
    

Methods

PressKey
To press a keyboard key

robotil.pressKey(KeyEvent.VK_A);

ReleaseKey
To release a keyboard key

robotil.releaseKey(KeyEvent.VK_A);

PressAndReleaseKey
To press and release a keyboard key.

robotil.pressAndReleaseKey(KeyEvent.VK_A);

MouseClick
To click X and Y coordinates

robotil.mouseClick(10,30,InputEvent.BUTTON1_MASK)

InvokeApplication
To invoke remote application

robotil.invokeApplication("notepad.exe");

PutFile
To send a file to a remote machine

robotil.putFile("C:sourceFile.txt","C:destFile.txt")

CaptureScreen
To capture screen-shot

robotil.captureScreen("C:imgsrobotiltest.png")

Contributors

Iva Dimitrova Trendafilova & Asiq Ahamed

WelDree

WelDree

WelDree is a UI to execute Cucumber Scenarios. How this tool development ideation was born? Once a Cucumber feature file is written and implemented, it can be executed using Jenkins, BAT file, and IDEs like IntelliJ & Eclipse. Executing individual scenario from IDE is an easy job for an automation tester.

However, if an non-technical person wants to run the scenarios, then he/she needs to open IDE/Jenkins/Terminal/Command Prompt to kick-off the execution by mentioning tags/scenario names & glue code. Using WelDree, you needn’t to use any technical tools. WelDree is created only to ease the individual automated test case execution.

Prerequisite

To use WelDree, installing Maven and configuring in Environment variable is must.

How to install WelDree?

Step 1:Download WelDree.jar file

Step 2:Copy and paste the downloaded jar file inside your Maven project

How to use?

Step 1:Double-click WelDree.jar file

Step 2:Once the tool is opened, you can see all the features which are available inside the resources folder. In order to start the execution, you need to add Glue code information using “Cucumber Option” menu as shown below.

WelDree How to use Step-2

Click ‘Add Option’ sub-menu under ‘Cucumber Option’ menu, enter ‘glue’ in “Option Name” textbox, enter glue code package in ‘Option Value’ textbox, and click “OK” button.

Note: You no need to add the glue code every time because Cucumber Options and Environment variables are getting saved in weldree.xml file.

Cucumber Scenario Executor

Step 3: For the first-time execution or if there is any change in your code, you have to compile the project before you run the scenarios.

Compiling the Cucumber project

Step 4: Once the project is compiled, you can perform the execution by selecting the feature and its scenario as shown below.

WelDree Scenario Execution
Note:

1. If you are using Environment Variables in your framework, then you can add the required variables using “Variables” menu.

2. If you are facing any issues with WelDree or would like to suggest new enhancements, please send an email to [email protected]

VisGrid

VisGrid

VisGrid is a GUI for Selenium Grid. You can start Selenium grid hub, create and attach nodes very easily and quickly. You can also find a list of a list of previous releases and release notes

How to use?

  • 1) Download and extract ‘VisGrid.zip’ wherever you want
  • 2) Double click ‘VisGrid.jar’
  • 3) Click Start Hub button
  • 4) Now Hub is started and ‘Create Node’ & ‘Stop Hub’ buttons are displayed
  • 5) Click ‘Create Node’ button
  • 6) Select a browser and click ‘Add’ button
  • 7) That’s it. You have created Hub and attached a node successfully
  • 8) Hit http://localhost:4444/grid/console to cross check your actions

Report issues/Suggest Features

VisGrid-Google Group

Fillo

Fillo

Fillo is an Excel API for Java and you can query xls & xlsx files. Now, it supports SELECT, UPDATE & INSERT queries with or without WHERE clause. You can also find a list of a list of previous releases and release notes.

Maven Dependency

<dependency>
  <groupId>com.codoid.products</groupId>
  <artifactId>fillo</artifactId>
  <version>1.22</version>
</dependency>

Select

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="Select * from Sheet1 where ID=100 and name='John'";
Recordset recordset=connection.executeQuery(strQuery);

while(recordset.next()){
System.out.println(recordset.getField("Details"));
}

recordset.close();
connection.close();

Update

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="Update Sheet1 Set Country='US' where ID=100 and name='John'";

connection.executeUpdate(strQuery);

connection.close();

Insert

Fillo fillo=new Fillo();
Connection connection=fillo.getConnection("C:Test.xlsx");
String strQuery="INSERT INTO sheet4(Name,Country) VALUES('Peter','UK')";

connection.executeUpdate(strQuery);

connection.close();

Multiple Where conditions

//This is an enhancement in Fillo-1.11, now you can mention multiple conditions in a query as shown below.
Recordset recordset=connection.executeQuery("Select * from Sheet1 where column1=value1 and column2=value2 and column3=value3");

Where method

Recordset recordset=connection.executeQuery("Select * from Sheet1").where("ID=100").where("name='John'");

LIKE Operator

Recordset recordset=connection.executeQuery("Select * from Sheet1 where Name like 'Cod%'");

Distinct:

Recordset recordset = connection.executeQuery("SELECT DISTINCT ColumnName FROM SheetName");
while (recordset.next()) {
    System.out.println(recordset.getField("ColumnName"));
}

Set table starting row and column

//Now you can set table start row and column
System.setProperty("ROW", "5");//Table start row
System.setProperty("COLUMN", "3");//Table start column
Fillo fillo=new Fillo();
Connection connection=fillo.getConnection(strFile);

Email us, if you face any issues

[email protected]

GYRA – Free Desktop Application Automation Testing Tool

GYRA – Free Desktop Application Automation Testing Tool

GYRA is a free Desktop Application Automation testing tool that we have developed to overcome the many challenges and limitations that are present in other tools. With the launch of GYRA, you can say goodbye to tools that have poor reliability, slow execution speeds, complex setup process, no active support, and lack of support for Java & Windows 11. As we have addressed all these major issues, we are confident that you will be able to enhance the quality of your desktop app automation testing.

Getting Started with GYRA:

As promised, GYRA will be an easy tool to use in comparison that has an easy setup and execution process. So make sure to follow the documentation and get a clear understanding of how GYRA works. Let’s start with the prerequisites, and then proceed to the code snippets you will need to know to perform various actions in the tool.

Pre-Requisite:

To use GYRA, you must set up the server and the client library by following a few simple steps that we have mentioned.

Step-1: Download the Gyra Server EXE File and Start the Server exe file.
(By default, the port number will be 3000)

gyra-server-1.0.exe (The default portNumber is 3000)
gyra-server-1.0.exe --port=8208

Step-2: Add this ‘Dependency’ in the Maven project.

<dependency>
    <groupId>com.codoid.products</groupId>
    <artifactId>gyra-client</artifactId>
    <version>1.0</version>
</dependency>

Example:

In this below-mentioned code, we have launched the Notepad application and clicked the ‘File’ option from the menu.

Server server = new Server("localhost", 3000);  
//To initialize the Server 

        server.openApplication("C:\\WINDOWS\\system32\\notepad.exe");
// To launch the Windows application

        Desktop desktop = server.getDesktop();
//By using this Server class object, we will take control of the Desktop first and then take control of all the running apps. 

        Window window = desktop.findWindow(By.name("untitled - Notepad"));      
//To find the window using the locator strategy and attach the window session in the window reference object.

        window.findElement(By.xpath("//MenuItem[@name='File']")).click();       
// Using findElement keyword, to find the particular element and then 'click' action performed.

The different locating strategies in Gyra-client are as follows:

window.findElement(By.name("File"));
window.findElement(By.partialName("Fil"));
window.findElement(By.controlType("MenuItem"));
window.findElement(By.automationId("Item 1"));
window.findElement(By.className("Menu Item1"));
window.findElement(By.xpath("//MenuItem[@name='File']"));

Special Note for Xpath Locators:

S. No Supported Not Supported
1 //MenuItem[@name=’File’] //Menu/MenuItem[@name=’File’]
2 //Edit[@ClassName=’TextBox’ and @name=’Search’] /root

Note: For the above-mentioned Locating technique[By.xpath], we have to be more precise in providing the element location. Because unlike Selenium, traversing through the element is not supported.

Find Elements:

The findElements command takes By object as the parameter and returns a list of windows elements.

Code:

 List<Element> hyperLinks = pane.findElements(By.controlType("hyperlink"));
        for (Element link : hyperLinks) {
            link.click();
        }

Code Snippets:

Now let’s take a look at the code snippets that will help you perform keyboard actions, mouse actions, screenshot comparison function, wait functions, and find element properties.

1. Native Events

2. Element Properties

3. Keyboard Actions

4. Mouse Actions

5. Screenshot Comparison Functions

6. Wait Functions

Native Events:

The actions we are about to see differ from the regular keyboard and mouse action commands as they will be performed directly on the Windows Native elements instead of mimicking the actual interaction of the user.

Single Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).click();

Double click:

window.findElement(By.xpath("//MenuItem[@name='File']")).doubleClick();

Mouse Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).mouseClick();
//To place the mouse pointer at the center of the element and perform a click. 

Right Click:

window.findElement(By.xpath("//MenuItem[@name='File']")).rightClick();

SendKeys:

Element txtField =window.findElement(By.name("EditUser"));
txtField.sendKeys("Codoidian");
String strField=txtField.getValue(); 
// It’ll return the Text box value

ComboBox:

To select a particular option from the combobox

//Way-1
Element comboBoxSource=window.findElement(By.xpath("//ComboBox[@name='Source:']"));       
ComboBox comboBox = new ComboBox(comboBoxSource);
comboBox.select("Rear Tray");

//Way-2:
Element weekComboBox = window.findElement(By.automationId("firstDayOfWeek"));
ComboBox comboBox = new ComboBox(weekComboBox);
comboBox.expand();
weekComboBox.sendKeys("Monday");
comboBox.collapse();

Toggle:

Element btnToggle = window.findElement(By.automationId("Toggle"));
btnToggle.toggle();

Element Properties:

Element btnLogin = window.findElement(By.automationId("loginId"));

btnLogin.getName(); 
// To get the visible value for the element
btnLogin.getHelpText();    
 // Te retrieve the Tooltip

btnLogin.getTop();
btnLogin.getLeft();
btnLogin.getBottom();
btnLogin.getRight();
// You will be able to retrieve the Coordinates

Keyboard Actions:

Keyboard keyboard = desktop.getKeyboard();  
// To get complete control of the keyboard

keyboard.sendKeys("{WIN}");
// If you are passing any special key such as shift, alt, ctrl, and so on, make sure to use "Curly braces - {}"

If you want to press more than one key, you can use the below-mentioned pattern,

keyboard.sendKeys("{CTRL}X");
keyboard.sendKeys("{CTRL}{SHIFT}{ALT}S");

Mouse Actions:

Mouse mouse = server.getDesktop().getMouse();
// To get control of the mouse

Mouse Move:

mouse.move(10, 20);
//To move the mouse cursor to the specified X & Y Coordinates.

Click Action:

mouse.move(10, 20);
mouse.click(Keys.LEFT); // Left click
mouse.click(Keys.RIGHT); // Right Click
//To left/right click on the specified X and Y coordinates

Screenshot Comparison Functions:

By comparising the screenshot of the actual image with the expected image, GYRA will be able to give a score that denotes the difference between the actual and expected images. Likewise, GYRA will also be able to deliver a difference image depicting what the change between the two images are as well. So let’s see the code snippets for those functions.

Note: Make sure that the expected image is in the same resolution as the screenshot.

Capture Screenshot:

To capture a screenshot of the entire screen that we will later use to compare.

Example:

byte[] imgByte = server.getDesktop().takeScreenShot();
FileUtils.writeByteArrayToFile(new File("imgEntireScreenshot.png"), imgByte);

Get Difference from the Image Comparison:

This function can be used to compare the screenshot with the expected image and show the difference between the two images as a separate image.

Element msPaintPane = desk.findElement(By.automationId("59648"));
 ImageCompareOutput output = msPaintPane.compareScreenShot("report/Expected.png");
FileUtils.writeByteArrayToFile(new File("report/difference.png"), output.getDiffImage());

Get Score from the Image Comparison:

To get the score that denotes the difference between the two images. For example, if the images are a 100% match without any difference, the return value will be 0. If there are any differences, a value greater than 0 will return based on the level of the difference.

double scoreValue=output.getScore();
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println("--- Output Score: "+formatter.format(scoreValue));

Note: The difference score is calculated based on the difference in the RGB values and are highly accurate.

Compare Images:

You can also use GYRA to compare 2 images of your choice to get the difference image and score using the above-mentioned functions (getDiff & getScore).

Code:

ImageCompareOutput output = server.compareImage
                ("report/Actual.png", "report/Expected2.png");

Get Score from the Image Comparison:

Once the images have been compared, you will be provided with a score that denotes the difference between the actual and expected images. For example, if the images are a 100% match without any difference, the return value will be 0. If there are any differences, a value greater than 0 will return based on the level of the difference.

double scoreValue=output.getScore();
DecimalFormat formatter = new DecimalFormat("#0.000000");
System.out.println("--- Output Score: "+formatter.format(scoreValue));

Compare Image:

You can also use GYRA to compare 2 images of your choice. (Actual & Expected images)

Code:

ImageCompareOutput output = server.compareImage
                ("report/Actual.png", "report/Expected2.png");

Wait Functions:

Wait functions are very important to automation and you can wait for a window or even wait for an element using the below commands.

Wait for Window:
Window window = desktop.waitForWindow(By.partialName("Notepad"), 15);

Wait for Element:
Element txtAllowance = desktop.waitForElement(By.xpath("//Edit[@AutomationId='AllowancePeriod']"), 15);

Email us, if you face any issues

[email protected]