Need Suggestions Regarding this Public Git Repo for Robotframework

Hi,
I haven’t been active here for a year :sweat_smile: But today I wanted to share something or more precise get feedbacks.
I am trying to create a test automation public repo which I would like to use it as my Portfolio showing my skills and ideas on Test Automation. Right now Im working on Robotframework with Selenium to automate the test case from one of the Demo website I found randomly in the internet.
It would be a great help if someone experienced with Robotframework can look at it and give me suggestion on how it can be improved. I will not include all the details here, coz it’ll be boring :upside_down_face:.
So Here’s the link to that Repo
msbajracharya/RobotFrameworkPortfolio_Salona: A simple robotframework repository for testcases to automate a Demo Website (github.com)

1 Like

I haven’t used RF in quite a while but hopefully the below helps.

You are better creating a .gitignore file and adding .vscode, results, the output/report/log files & anything else you don’t want commit to the repo. Helps keep it light weight plus a few other good reasons you can google about.

You can also add the python dependencies into a requirements.txt file. You can see both these being done in RF Github .

chromedriver seems to live in a couple of places, is there a reason for that?

It would be good to look at using keywords for code that repeats often throughout the script.

Might also be worth experimenting with moving hard coded variables into a resource file. This would make it easier to update or parameterize tests in the future.

Nice documentation and comments!

Hopefully that gives you some ideas for improvements.

3 Likes

The suggestions you provided is very insightful. I will update the repo according to the suggestions you gave.
I cannot thank you enough! :blush:

1 Like

I like your idea with a public repo for portfolio. Nicely done!

To add to Adams comments, I would suggest you revisit the locators you have saved as variables.

Example from the TestCase12_add_product.robot file is:

${first_product} xpath=/html/body/section[2]/div/div/div[2]/div[1]/div[2]/div/div[1]/div[1]/p

While there is nothing wrong with using xpath, this example looks like it was created by a tool, and it is a very fragile locator, starting at the root html element.
Any change to the page would break this. You should try to create a better locator, ideally based on a data-attribute, id or maybe classes.

Hope that is useful to you.

1 Like

Yes that is true, Most of the elements in the page didn’t have specific id so I used automatic xpath for them. But you’re right this does look very cluttered. I will make it more readable and precise as much as possible.
Thank you so much! :blush: