I'm really impressed with their accessibility testing
@prasannamallisetty720810 күн бұрын
@murat, thanks for video. Can i suggest one thing..please zoom in coding video a bit, its hard to make out what is there on the screen
@NeverCodeAlone10 күн бұрын
Very good.
@VicenteMolin11 күн бұрын
Awsome solution!
@amyohare3952 ай бұрын
This is great, thank you! I also struggled getting the xk6 binary working with the extension and then came across your suggestion. Thank you!
@kanew14 ай бұрын
Thank you! Awesome solution!
@igor_cojocaru4 ай бұрын
Thanks, saved me a lot of time today.
@igor_cojocaru4 ай бұрын
Hi Murat, thanks for the video. I love Cypress component testing. After Dan Abramov's talk, I have started to look at Next.js server components, and my first thoughts were that it would be a pain in the neck to component test this kind of stuff with Cypress. It looks like you found a workaround, but I really miss the intercept syntax. What would you do if the component has more than one fetch request? I would like to learn how you plan this. Subscribed!
@MuratKeremOzcan4 ай бұрын
You're asking how to differentiate between fetch calls, this will be a problem I think. Time for a feature request with reproducible repo example. Go for it.
@AdnanErlansyah-nx7xp5 ай бұрын
Sir but I think it wouldn't be working if we use k6 web dashboard, so I've already tried the command like this: ``dotenv -e .env k6 run --out 'web-dashboard' main.js`` it's to run the test and the output of the test is from web dashboard k6.
@MuratKeremOzcan5 ай бұрын
never used dashboard, can't say
@AdnanErlansyah-nx7xp5 ай бұрын
@@MuratKeremOzcan is there another way to pass the env but we can still use the other arguments of k6 sir?
@MuratKeremOzcan5 ай бұрын
@@AdnanErlansyah-nx7xp I haven't needed to do this, maybe there is something in the docs. The dotenv vars are separate from k6 command, so if k6 has a way of passing the args, then yes
@amyohare3952 ай бұрын
I had a similar issue but it worked when I set up the arguments in the .env file. My command is `dotenv -e .env.test k6 run ./k6-tests/test_name.js` I then added the dashboard arguments to my .env file like so: K6_WEB_DASHBOARD=true K6_WEB_DASHBOARD_EXPORT=test-report.html K6_WEB_DASHBOARD_OPEN=true And now it works great! Hope this helps :)
@b.ahunov16395 ай бұрын
So cool, thanks!
@mockoon5 ай бұрын
Thank you for your obsession :)
@Kamerarkas15 ай бұрын
Videoları Türkçe çekmeyi düşünürseniz fazla fazla ilgi çekeceğini düşünüyorum
@MuratKeremOzcan5 ай бұрын
Işteki arkadaşlara referans olarak kullanıyorum, o nedenle Türkçe değil
@Kamerarkas15 ай бұрын
@@MuratKeremOzcan ekibinizdeki arkadaşlarınız çok şanslı. Belki de AI ile Türkçe altyazı oluşturmaya çalışabiliriz beraber
@MuratKeremOzcan5 ай бұрын
@@Kamerarkas1 kitabimi Turkce'ye cevirdim, pek ilgilenen olmadi muratkerem.gitbook.io/cctdd muratkerem.gitbook.io/cctdd-tr
@Kamerarkas15 ай бұрын
@@MuratKeremOzcan bazı şeylerin değeri geç anlaşılıyor. Bence ilgi çekmesi için sektörün olgunlaşması gerekli. Video kaynaklar bu konuda ilk sırada geliyor, videolar ile referanslar vererek kitabınızın Türkçe halinin de fayda sağlamasına katkıda bulunabilirsiniz. Elinize sağlık. Teşekkürler katkılarınız için
@mockoon5 ай бұрын
Thank you for using our tool!
@tomaszaszkiewicz15346 ай бұрын
Hi! I have trouble running it as you showed. If i try to run it as you did I get an error saying .env is not a valid boolean. If i try to use -f flag to specify .env file dotenv is giving me an error that "k6" is not a valid command even though it's installed globally and added to path. I tried doing it on windows 10 and on ubuntu subsystem through WSL with same results.
@MuratKeremOzcan6 ай бұрын
you have other problems there need to isolate dotenv CLI and make it work just by itself, do the same for k6, and try to combine them later
@hsd_o.o6 ай бұрын
Graciiiass!!!!
@nirmalfernando62176 ай бұрын
Have you integrated e2e coverage report with Next
@MuratKeremOzcan6 ай бұрын
nah, code cov is soon going to be superfluous when UI interaction coverage becomes available
@MrVWRoli7 ай бұрын
For fixing the CSS issue you need to add <div id="__next_css__DO_NOT_USE__"></div> this line to the component-index.html file. After that you will be able to import your global CSS file in component.ts.
@MuratKeremOzcan7 ай бұрын
Confirmed. Thank you!
@AdnanErlansyah-nx7xp7 ай бұрын
Sir Murat, could you make a tutorial for testing web performance by using the K6 tool? And also make the generated report after completed the test. Thank you so much for all of your tutorial sir ❤
@MuratKeremOzcan7 ай бұрын
You have to follow Marie Cruz for that. It's what she does night and day. We don't focus on UI performance at work, only backend services, and that matters less and less with AWS.
@AdnanErlansyah-nx7xp7 ай бұрын
@MuratKeremOzcan Can I get the link reference, sir? I don't know which one that I should look
@MuratKeremOzcan7 ай бұрын
@@AdnanErlansyah-nx7xp best place to look is k6 office hours, on their KZbin channel. You can ask her on LinkedIn in or go through the video descriptions.
@whatstrending46387 ай бұрын
Lots of respect 🫡 . Please keep sharing your experience. It has helped me learn alot of new things. Keep shining brother ✨✨
@drewgoodwin96318 ай бұрын
Thank you for sharing. Have you tested this with a session callback that, for example, adds a property to the user object? The intercept seems to prevent the callback from running...
@bahaaalhalabi894010 ай бұрын
I was actually trying to make this all day,as i was getting into cypress, thank you for the video.
@recursion.10 ай бұрын
Love the 2k resolution screen record.
@Brunoenribeiro10 ай бұрын
Nicely done. I was having trouble with it, you saved my skin.
@MuratKeremOzcan10 ай бұрын
there are still 2 shortcomings; css is a problem and routing is a problem. If you search for issues in the repo, there are links to cy GitHub issues. I have another repo called next-issue-tracker, more complete app.
@brendanmeade422411 ай бұрын
Very very useful trick 👏
@OliverDungey11 ай бұрын
Love your style and feel the same. I have adopted a pattern of having an 'env' object in each test file to encapsulate the config and keep it nice and simple for the tests that I thought you might like: const env = { endpoint: __ENV.SOMEOLDSYSTEM_ENDPOINT || fail('Missing SOMEOLDSYSTEM_ENDPOINT environment variable'), pathA: 'home' get endPointWithPath() { `${this.endpoint}/${this.pathA}` } }; Gives nice fast feedback to testers when they miss out environment variables and allows me to compose complex config whilst keeping it DRY. Environment config does get very complex!
@excelblaze86411 ай бұрын
For react-router v5 and react v17, I made the below modifications and they worked for me: const wrapped = ( <MemoryRouter initialEntries={[route]}> <Switch> <Route path={path} render={() => { return WrappedComponent; }} /> </Switch> </MemoryRouter> ) 1. Replaced Routes with Switch 2. Instead of giving the WrappedComponent to element prop, I returned it from the render method. In my case, the react component was accessing URLSearchParams. For example: something like '/abcd?q=param1&v=param2' In this case, I passed my route as : '/abcd?q=param1&v=param2' and path as: '/abcd' The above worked for me and I verified it by making an assertion on pathname and search using the cy.location, and I hope this is the way it should be done for URLSearchParams. I am open to any suggestions.
@JosephGoebbelcoque11 ай бұрын
thanks for this video. have you had any luck using getServerSession from next auth to work with cypress?
@jheannyc717211 ай бұрын
Thanks!! This config helped me a lot!
@omerfratcoban18211 ай бұрын
merhaba, mailosaur'u atılan bir mailin içindeki veriyi kontrol edip içinde yer alan linke tıklamam gerekiyor,nasıl yapabilirim ? bununla ilgili bir videonun çok faydalı olacağını düşünüyorum.
Thank you for sharing, I'm on the process of choosing a testing library to learn and cypress seems to be the way to go
@Waterbottles71111 ай бұрын
Thank you for showing and explaining all of this! Helped me understand much better
@sercantor1 Жыл бұрын
sooo, it's just an aws call, I think doing this in a bash script would play nicer with the CI, so that everyone could play around with it. I may not have node running in my actions runner
@F.Schulz Жыл бұрын
thanks for share!
@BMadPhoto Жыл бұрын
This is a great tip - much easier to maintain with this approach!😀
@Artem-hq5ex Жыл бұрын
Cypress 12.17.4. Not works
@MuratKeremOzcan Жыл бұрын
repro on repo or it didn't happen here it is with v13 beta check the config file at the repo root if this works, for sure 12.17 works github.com/muratkeremozcan/prod-ready-serverless/blob/main/package.json#L45
@lucasbastos8019 Жыл бұрын
Thank you for sharing, Murat. It helped us 👍
@merwinrodrigues3482 Жыл бұрын
did not work for me i still keep getting "CypressError: `cy.request()` must be provided a fully qualified `url` - one that begins with `http`. By default `cy.request()` will use either the current window's origin or the `baseUrl` in `cypress.config.js`. Neither of those values were present." this error
@MuratKeremOzcan Жыл бұрын
does yours look like something like this? (cy.api is UI for cy.request) github.com/muratkeremozcan/prod-ready-serverless/blob/d9410419668b34f58c055739e2b5222e659dd763/cypress/support/e2e.js#L114 on L108, Cypress.env('rest_api_url') is from the .env file For you, if you put the value in cypress.env.json vs .env, and use Cypress.env(...), does it work? Can help if there is a repo where you can show your issue.
@nikitachhillar8440 Жыл бұрын
Can we get github secrets as well with this method?
@MuratKeremOzcan Жыл бұрын
@@nikitachhillar8440 yeah process.env means the secrets are in the .env file or CI provider. For it to work locally you need .env secrets. For it to work in CI, you need CI secrets
@stoonya Жыл бұрын
Thank you for the video. Question regarding your "getBy*" custom command, don't you need something similar for "find"?
@MuratKeremOzcan Жыл бұрын
you can name them however
@stoonya Жыл бұрын
@@MuratKeremOzcan I mean these your commands won't work as child commands, which means you probably need to create similar "find" commands to cover cy.find
@charleshughes1417 Жыл бұрын
Bruh, put a pipe in your map. Then you don't need to mapmapmap. Just map(pipe(prop, constructN, invoke))! Or maybe `really' instead of pipe?
@victoriakelz2602 Жыл бұрын
Thank you!!
@mehmetsirintarhan3351 Жыл бұрын
Hi Murat, is this video still good for Cypress version 10 and higher? What kind of modifications I should do to make it work on Cypress version 12? Thank you very much.
@MuratKeremOzcan Жыл бұрын
video eskidi kardeşim, ama repo hala güncel, oradaki koda bakabilirsin, aynı şeyin 3 sürümü var en zordan en yeni ve kolaya bir de bu blog işin günceli dev.to/muratkeremozcan/test-emails-effortlessly-with-cypress-mailosaur-and-cy-spok-56lm iyi bayramlar
@NhanNguyen_dra Жыл бұрын
Nice, this should be included into the official documents
@dantkillmyvibe Жыл бұрын
Yes it should and expected it to be and to my surprise there was no mention. I had a similar idea and that's why I searched it up before I hacked up something. The cypress methods mentioned in the docs pale in comparison to this method tbh.