Playwright - How to work with Multiple Environments!

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Practice Test Automation: commitquality.com
    Twitter: / commitquality
    If you find these videos useful and would like to support me creating these videos, Super Thanks now available on the video.
    Throughout this step-by-step guide, we'll explore the invaluable dotenv package and how it can revolutionize your Playwright projects. Whether you're building web automation scripts, testing web applications, or developing end-to-end browser automation, dotenv provides an elegant solution for handling environment variables
    We'll demonstrate how to set up environment-specific variables in dotenv files, ensuring your project remains secure and easily configurable across different environments, including development, staging, and production.
    www.npmjs.com/...

Комментарии • 62

  • @la2126
    @la2126 11 месяцев назад +2

    I knew you would have the answer Jarad, as always! Exactly what I needed, thank you!

    • @CommitQuality
      @CommitQuality  11 месяцев назад +1

      Always glad I can help you :)

  • @juanjoarranz8213
    @juanjoarranz8213 Год назад +1

    Many thanks for your wonderful Playwright tutorials.I learnt all Playwright from you !

    • @CommitQuality
      @CommitQuality  Год назад +1

      That's amazing to hear, it's what makes me continue wanting to post videos! Thank you very much for the super thanks, you are my first one😁

  • @joshuaschuster5867
    @joshuaschuster5867 Год назад +2

    As always great content! Is there any plans to make a video about managing automated test cases? In my work, we find it difficult to actually keep track of our test cases in an Excel sheet to understand our total test coverage. If you made a video on that it could be potentially really helpful to a lot of people :) thank you for these tutorials!

    • @CommitQuality
      @CommitQuality  Год назад +2

      This is a really interesting comment. I can definitely give an example of what I do / what I would do on my test website. I will put something together for this because I really like the idea.

  • @skf-sfg-sts-23-ghfj-jfjf
    @skf-sfg-sts-23-ghfj-jfjf Месяц назад

    Great video, please consider making another tutorial how to deal with multiple environments and variables in C#.

  • @nauta28
    @nauta28 7 месяцев назад

    Great stuff, simple and effective. Spent an hour to trying figure this out with some random StackOverFlow comments..

    • @CommitQuality
      @CommitQuality  7 месяцев назад

      I'm glad to hear I have helped :)

  • @LouiseHarney-pb7ms
    @LouiseHarney-pb7ms Год назад +2

    This is really helpful, thank you!

  • @EwelinaWes
    @EwelinaWes 9 месяцев назад

    Exactly what I needed! Super simple explained :) Thank You :)

  • @ravirajug1137
    @ravirajug1137 2 месяца назад

    nice and detailed and short video. thanks

  • @umesh1056
    @umesh1056 9 месяцев назад +1

    Please let me know how to integrate with gh actions
    How to store the gh secrets to the variable present in the env files(present in env folder)

  • @Another0neTime
    @Another0neTime Год назад

    Thanks, bud.

  • @poosam4065
    @poosam4065 Месяц назад

    Hi. This is a great video and I learned a lot.
    I have a question. Can we run tests through VS code Test Explorer and pick up the .env file values? Because when I try to do so it always says as undefined.

    • @Macrntree
      @Macrntree Месяц назад

      same error )=

    • @poosam4065
      @poosam4065 Месяц назад

      @@Macrntree no luck yet for me 🙁

    • @Macrntree
      @Macrntree Месяц назад

      @@poosam4065 need to install dotenv in your proyect.... then just need import into playwright like this
      require('dotenv').config();
      ... when you create de .env like url or endpoind base in the root of your project and use in spec or page file, You want to import process.env.URL .... the vsCode mark underline error but the scripts will work

    • @poosam4065
      @poosam4065 Месяц назад

      @@Macrntree I was able to resolve this. But not sure whether this is tha correct way.
      dotenv.config({
      path: `./environment-files/.env.${process.env.ENV || 'test'}`,
      });
      So I have set 'test' dotenv file to be default value for ENV if it's undefined. After doing this I was anle to run through Test Explorer.

  • @pranavpothiwala8091
    @pranavpothiwala8091 5 месяцев назад

    Hi you make amazing videos which cleared my many doubts, I have question how can I use this as script in package.json file instead of running in command line I tried to use cross-env but didn't got it if you can share a script would be great thank you in advance

  • @gdd546
    @gdd546 5 месяцев назад

    thanks, i'm practicing playwright automation and azure pipelines and this was very easy to follow and understand.
    i've set up a practice build pipeline with a custom agent that runs my playwright tests and i have created a release pipeline aswell, but i'm struggling to get my head around how it'll work with azure releases to qa, prod and then uat. im guessing its something to do with the yaml file?

    • @gdd546
      @gdd546 5 месяцев назад

      i found it in your azure pipeline video

  • @arunganesh100
    @arunganesh100 7 месяцев назад

    Instead of power shell if we use cmd then what command should I use to set the value. Please suggest the command.

  • @AparnaKompella
    @AparnaKompella 3 месяца назад

    Hi, what is the error i see in my playwright.config.js file internal error:unable to connect to the test server playwright ? how do i fix it, could you please let know

    • @CommitQuality
      @CommitQuality  2 месяца назад

      Can you share the contents of your config file please

  • @AparnaKompella
    @AparnaKompella 3 месяца назад

    i am still seeing undefined after following steps as it is on powershell

  • @aparnausa3619
    @aparnausa3619 2 месяца назад

    Do you have another video for js for the same topic

    • @CommitQuality
      @CommitQuality  2 месяца назад

      Are there any specific parts that are not working for you via JavaScript, there should be only small differences

  • @tyexcel2312
    @tyexcel2312 8 месяцев назад

    Thanks for this great content.
    Please I have a question, I'm getting this error when I ran this command $env:ENV='local'. I don't have powershell in my terminal as I'm using Mac:
    zsh: command not found: :ENV=local
    Please what can I do. Thanks

    • @18traspie
      @18traspie 7 месяцев назад

      for zsh use "export ENV=local"

  • @rifattaque7301
    @rifattaque7301 Год назад

    Beautiful content. Could you also please show us how to change the environment file on test run command. I mean is there any way to call the desired env file with 'npx playwright test' so we can avoid switching between the env files before running 'npx playwright test' command? something like-> npx playwright test --env '.env.local'

    • @marko96
      @marko96 Год назад

      Try using bash instead of powershell. The command for bash would be: ENV=local npx playwright test
      The downside is that you have to write ENV=local/prod before executing every test but its still one step less than with using powershell in which you set the env and then run the test.

    • @CommitQuality
      @CommitQuality  Год назад

      What I typically do is run a powershell script.
      Inside the script I can set the env variables I want and the. Also run the npx Playwright test command. I would then execute the powershell script

    • @rifattaque7301
      @rifattaque7301 Год назад

      @@marko96 sounds good, gonna try that. Thanks buddy.

  • @rexrexnis
    @rexrexnis Год назад

    Thanks for the vid. Nicely explained.
    One question, though. I can easily use the env variables in the test block of code, as presented in the video, but I cannot use them inside the setup code (in the auth.setup.ts file). Returns undefined. Any suggestions? Thanks!

    • @CommitQuality
      @CommitQuality  Год назад +1

      Thank you! Where are you originally creating your variables and are you using the playwright setup approach?

    • @rexrexnis
      @rexrexnis Год назад

      I have them stored in a .env file (just one file, as there is one environment as for now). And as i said, they do work within a test file, but i also need to use them in the authentication setup, which is taken directly from the playwright documentation. And it does work itself (the setup I mean), but at this moment I have the secrets passed as normal strings….

    • @rexrexnis
      @rexrexnis Год назад

      ​@@CommitQualityany advice?;)

  • @umskip2779
    @umskip2779 Год назад

    can you set default .env that will be used when not specifying the env when running the tests?

    • @CommitQuality
      @CommitQuality  Год назад +1

      Yes you can do this in the playwright config file. You could set up a const that would say use whatever base env is, and if its empty, set it to something e.g. const defaultEnv = process.env.ENV || 'prod' and then use the const where you define the path of the file. So if my ENV variable is empty, it will take the base version

  • @andibm5623
    @andibm5623 10 месяцев назад

    hi, thanks a lot for your video. Is it suppose to work with bush instead of pwsh? I've got such error.
    $env:ENV="deploytest"
    bash: :ENV=deploytest: command not found

    • @7contractors
      @7contractors 9 месяцев назад

      You have probably forgotten to fix you scripts in package.json

  • @vaishalisoni8022
    @vaishalisoni8022 11 месяцев назад

    Hi, is there a way to check data of file and then choose which one to use.

    • @CommitQuality
      @CommitQuality  11 месяцев назад

      When you say check data of a file, do you mean the content of any file, or a specific one? I have videos on reading from CSV files and soon to be ones from pdfs

    • @vaishalisoni8022
      @vaishalisoni8022 10 месяцев назад

      @@CommitQuality I mean we have different env like stage, prod etc and we save json data for each env in each of these files and on the bases of req we call these files.

    • @vaishalisoni8022
      @vaishalisoni8022 10 месяцев назад

      Also tried above approach but env variables are not populating.

  • @riteshkavankar
    @riteshkavankar 11 месяцев назад

    Can we hide password in this file, so no other can see it in git commits.

    • @CommitQuality
      @CommitQuality  11 месяцев назад

      You may want to look into git secret

    • @riteshkavankar
      @riteshkavankar 11 месяцев назад

      @@CommitQuality Done👍🏻

  • @webtestingui7187
    @webtestingui7187 8 месяцев назад

    Hello,Please share your github url

  • @kovacstibi9595
    @kovacstibi9595 Год назад +1

    I need a little assistant.
    In terminal I type this: $env:ENV="prod"
    but when I run the basic test and log ENV variable 'console.log(process.env.ENV)' then I got "undefined" result..
    I am bit lost...
    dotenv.config({
    path: `./env/.env.prod`
    })
    -->this works
    dotenv.config({
    path: `./env/.env.${process.env.ENV}`
    })
    this failed...

    • @CommitQuality
      @CommitQuality  Год назад

      What type of terminal are you using?

    • @kovacstibi9595
      @kovacstibi9595 Год назад

      powershell
      but today morning everything works.. bit confused..
      maybe the restart solved... (I am new with typscript/playwright/visual code)
      anyway thanks! your videos are awesome!@@CommitQuality

    • @CommitQuality
      @CommitQuality  Год назад

      The classic turn it off and on again :D Thank you :) @@kovacstibi9595

    • @ramprasadprathapani3578
      @ramprasadprathapani3578 Год назад

      This will help us for undefined in dotenv.config block path: './env/.env.' + process.env.ENV_Test