 All right, it looks like we are live. Thanks everybody for joining us today. You are with the OpenJS Foundation monthly Q&A session with WebDriver. Every month we like to sit down with a project and see what they've got going on and this one is going to be a real fun one. We've got some fun announcements coming up. Before I hand it over to Christian, who will be our moderator today, if you have questions that you would like to ask, please feel free to submit them either in the YouTube chat or you can us on Twitter, so OpenJSF on Twitter. With that, I'm going to pass it over to Christian, who will introduce our panelists for today. Thank you, Rachel. Thanks for the introduction. Hello, everyone. Welcome to this AMA. I'm excited to share the stage with some of our core contributors who will all introduce themselves. I'm going to start with myself. I'm Christian. I'm working as a software engineer in the open source program office at Source Labs, where I oversee how the company is using open source software as well as distributing it and as WebDriver protocol and the WebDriver project is a tool that a lot of our customers use. Part of my work is also to contribute to the project as part of my company work. I got introduced to this project way back when I was in high school or actually college, where I had to test the backbone application in the browser. Back then I didn't know how you would do, you know, there was the first time where a single page application were a thing and I thought the best way to test it is to click it through it and back then I think WebDriver.js was the project name before we called it WebDriver.io. I used WebDriver.js to do this automation thing and I started contributing to the project as I needed more features and since then I stick with learning, contributing to the project, learning a lot not only about Node.js and software engineering in general, but also about, you know, open source and today I'm excited that this project has gotten to the size where it is right now and hopefully even bigger in the future. So I give it up to Vim. Yeah, thanks Christian. Yeah, my name is Vim Sellis, live in the Netherlands. I also work at Source Labs as a senior solutions architect and I got involved in working with WebDriver.io, I think, what is it, 2017 or something, when I needed to automate a React Native application and I was always used to working with Angular applications using Protector and in this case I needed to automate a Native application and after doing some research I figured out that WebDriver.io could basically do it all in the web and Native applications and started using it and after using it started helping out with questions also in the Gitter channel, met a lot of people, learned a lot and also got in contact with Christian then I thought okay let's start contributing, let's start not only helping people in the Gitter channel which is in my opinion also something as contributing to open source but also helping with features, bug fixes, that kind of stuff so yeah that's basically how I got involved also in the WebDriver.io project so let's get the mic to Kevin. Hey, I'm Kevin and I am a front-end engineer. I work in the consulting field helping companies with their front-end projects. A large part of that is helping with testing the front-end using WebDriver.io. I got involved with the project five or six years ago maybe more than that when I was trying to figure out how to unit test CSS kind of the design of the sites and became familiar with WebDriver. CSS which is a defunct product or plug-in to WebDriver.io through there I discovered WebDriver.io and test automation and kind of really fell in love with the project and all it was working on and the goals of it and how it was being run and all of that so I've been working with the project for several years now I was able to make a course on it a video course on it which is now a bit out of date so but I've also been able to get a book out there on testing websites with WebDriver.io and I'm working on turning that book into a second video course on WebDriver.io automation. I'll turn it over to Erwin. Hi everyone, I'm Erwin Heitzman. I'm also living in the Netherlands. I got introduced to WebDriver.io about five years ago when I was doing some automation and I was using Chimp.js back then which is a wrapper for WebDriver.io and I didn't know back then that it used WebDriver.io under the hood and later on I learned this and I felt like let's try to use WebDriver.io as my main tool and I got on Gitter. Some many people asking questions and I noticed that back in the day I felt like I had little knowledge but I noticed that I could answer a lot of these questions which got me more confident into exploring more and more of WebDriver.io which got me further into the project as we went along contributing and making my way into the core team. Eventually I'm currently working as a test engineer at the testers in the Netherlands and yeah that's my role here. Awesome, thank you all. Before we dive into the question we thought it would be good to start with the announcement that we have promised on Twitter. So over the last month I was thinking about or we were thinking about how we can continue and accelerate the development of the project and one opportunity that also many open source projects use is especially when they grow and as they grow is they start a collective and so we thought it would be a good idea to do that as well to help not only development of the project but also help to grow the community and so with today we're going to open up a collective on open collective where you and your company if you use WebDriver and your company can donate to the project and we really want to make this as transparent and open as possible. We currently have three tiers they're pretty standard usually where you can you know do a one site one time donation you can become a regular you know contributor starting with two dollars or whatever you feel like contributing to it or if your company is heavily using WebDriver.io then you can become a gold swander where you where we going to put the company logo on our in our into our community section on the website as well as on our Weedme and as well provide like a weekly one-hour support sync with one of our core project maintainers. So this will so of course a little bit more expensive but you we will provide some services for that on top of just donating money right and again we want to be this as expensive as as transparent as possible and therefore we created clear expense policies for everyone to understand when they can you know reimburse something from the collective and there really three types here. Our first idea actually was to what I had in mind is hey we want to like to have more WebDriver events around the world so for everyone who you know has a webinar has a webinar a meet-up or a workshop on WebDriver.io why shouldn't we just use the funds in the collective to reimburse with pizza with rental to reimburse rental costs or food or any kind of those that kind of things and so one of the first expenses that you can expense is you know event expenses up to $100. It's again it's not much but you know it can pay for a couple of pizzas when you're running a meet-up for WebDriver.io Then there will be development expenses so if you are contributing to WebDriver.io you can contribute to issues that are labeled with Expansable. So and the idea behind this is if you have fixed or contributed to 10 issues that are marked as Expansable then you can get reimbursed up to $1000 and we have done that this way because we think you know there will be some tickets that you know people can solve in two or three hours and some other tickets will take longer and by you know collecting 10 of them we kind of level it out and if you do additional one you you will get 100 bucks per ticket so it's essentially per Expansable ticket that you fix you can reimbursed 100 get $100 reimbursed if the money is in if there's enough money in the in the collective and so the idea here is you know we don't want to it's difficult with these open collectives and these these these things in the open source world it's hard to make it fair we try to make this really transparent and really be able to connect every expense that we do from the collective to a work that has been done on the project and therefore we certainly know that this won't be covered somewhere on working full-time on WebDriver.io but it will help people that contribute in their free time and spend their free labor to the project to get them reimbursed at least some money and the last will be a travel expense for the technical steering committee. I think there haven't been many of those kind of travel expenses usually you will get paid if you decide to speak at the event in case that doesn't have that is not the case you know this fund should be available for the core contributors to to expense every flight or hotel accommodation and it should be some sort of also an incentive for people to think about hey if I you know contribute more to the project there are rules that clearly state at what point you become a technical steering committee member and so we hope that we can in the future get more people on board, more people become part of the core contributor group and more to increase diversity get more people on board and have more constant contributions to the project. Originally the idea was also to not only open the collective but also open this back store so we were talking with the OpenJS Foundation about this because WebDriver was a project is a straight mark by the OpenJS Foundation so if you ever think about opening some sort of swag store this is something you should clearly communicate with the foundation first so as project members we asked for permission and we got permission for that to create our first swag store we can reach that shop or that store on shop.reptar.io I will redirect you to a threatless shop because you know this is for us the most simplest way to give you access to that kind of swag store and currently we start with we currently start with this little design that came from a friend of mine but apparently Irvin mentioned that he was a designer in his past so I think we are pretty sure that in the future we will add more designs to the shop and so currently you have a t-shirt and and sweatshirt I already got the sweatshirt for myself that has not arrived yet but soon will we will have some stickers and notebook and a beach towel which I also ordered from the store and so all the purchases that we made in the store will be directly will directly go into the collective so and then you know eventually to the event that you host where you want to you know order pizza for the people that attempt the event so really this collective is not really about you know having someone working full-time on web.vo but being able to give back the community and and you know allow people to get some money while contributing to the project yeah that's about the announcement any comments from you all no just very excited yeah hopefully we we will get some t-shirt designs from you soon awesome well let's let's dive into the questions then um let's think about we had a couple of questions that I think we wanted to go first um and so let's just say um how about the one about jest so let's say so Sean ask why doesn't web.vo support jest any comments from what I believe there were you did the research actually behind this Christian a while back and I believe there were some difficulties with the things added on top of jestmin which we currently already use and also the things that jest adds to the project are more valuable for a project that does unit testing then it's actually useful for entwine testing which is why we chose not to uh do that migration at that moment in time is that correct yeah yeah um yeah I looked into the jest test runner and I feel like jest is a I use jest for all more projects but for unit testing purposes they have a nice feature on doing snapshots and doing comparisons using the expect library um I love all this but from the test runner perspective there's nothing really that adds value to web.vo that is not always covered in the mocker or jestmin framework if you do bdd testing or tdd testing um so right now there was no reason to add jest um as a test runner what you can do is just use the mocker framework and use the expect web.vo library that comes automatically shipped with every install and your test will exactly look like jest test you have the same syntax with the expect statement or expect function um and we even uh thanks to michela who is also co-contributed to the project um we even have like a expect library assertion library for web.vo objects which makes it easier to assert certain elements on the page so I don't think moving on that we will have some sort of a jest framework um I think that doesn't really provide that much value um but we try to improve our functionalities on the assertion site extending the expect web.vo assertion library to do to be able to do more things um like maybe network snapshots things like that um we'll see but yeah for now I don't think jest would be a any valuable addition and I think to add to that is also that it's not included in the the base sync project basically but it is possible to run jest when you run it uh as a standalone setup correct you had a project about that right Evan yeah yeah there's many of those because people just like to use jest a lot so if you want you can check this out and uh yeah it is very possible to run jest with web.vo but it's not included in the uh the way that we use web.vo by default yeah yeah using the the web.vo native um frameworks like currently marker jasmine and cucumber uh willy helps uh because it um you know you you can run jobs in parallel automatically uh rather than implementing that yourself um and there you know with the reporters that all come um from that I think it's it's easier to to use the common or native embedded frameworks um so the another question from waafa um is I would like to contribute to web.vo knowing that I am a qa with no depth background uh would that be possible um absolutely um uh so we have a lot of ways you can contribute even if you're not a developer you can contribute um I think there are ways how you can look into the documentation um to improve that um there are um we have we offer the open open the open source office hours uh so on there's one blog post about this I can share my screen again let's see so we have a blog post about the open office hours I think we should make it a general page um where you can go and so this blocks um time on our schedules and you can decide to you know just pick a ticket from the issue list and that you would like to tackle and then put this ticket into um into the link into this form and then you know one of us will will help you and guide you through the contribution process and uh you know you don't need to be very technical I think there are tickets out there that are really easy to tackle and if not um I think just reach us um and we we can find uh things to be worked on and that's always a different difficulty right as a contributor you try to solve a lot of and fix a lot of issues but you know there would be work for in project manager that helps us to carve out tickets to give tickets more context to make it easier for people to contribute um yeah sorry I think that's already a good point that you're mentioning there Christian even by kind of like triaging your tickets that that would already help and I think also by basically just helping everybody on the Gator channel I think you don't need to have a lot of coding experience uh uh but kind of like common sense why would you want to test certain situations uh and I think also when you don't have that technical background you think about something in a different way and that I also might lead to different compensations good compensations also in the Gator channel so that's also a way in my opinion how you could contribute also to the project just helping your peers yeah definitely for me actually that's how I started sorry it's zoom it's perfect I keep going all right now that's how I actually started I uh came to the Gator channel and uh I saw that I could actually answer more questions than I was asking them which got me the confidence to to step take the next step basically and I think that when you take the next step you do like a very small pull request to change a little maybe it's just documentation for example it will bring that confidence that you can actually make a very small change very fast and we can help you with that so yep just wanted to reiterate what's already been said like there's many different ways to help outside of contributing code myself I've I don't know I've contributed like a small percentage of all the work that I've done has been just actual code changes it's been a lot around documentation the the documentation can always use improvements if you see a spot where maybe just need examples more examples we have a lot of great documentation on commands and the parameters they take and everything but one thing that's always helpful for me is seeing actual examples of the code in practice so that's a great place to add contributions and yeah that's a good point that reminds me that we just started a repository on recipes so successful automation recipes with rep.io there's a recipe repository on the organizational guitar and everyone who has like a script that they usually use a lot for certain automation types like drag and drop or something fancy I don't know um you know just put this in the repo and there's no structure yet so free free to just suggest something but the idea is that everyone who has like a cool nifty snippet uh to automate something uh on with rep.io uh you know contribute that as well and help people out and yeah again um to reiterate the channel help keeping there help people there to with their problems is also always a good way to get started and never be I hope that never is like afraid to do any contributions because they think you know what what will people think about me I think we will we are here to help and we will we want to make this experience as good as possible um let's take a question from the live audience um there's one from Hugh McCamble um hello all will it be possible in the future to mark responses to the Xenium grid um since I've been working on this recently um I can say yes someone contributed a change that allows us to um attach the puppeteer side of things and to the selenium grid so the new selenium four grid will allow to um you know um access the dev tools protocol through the grid so you have you know a lot of machines in your network and the grid will be responsible to uh channel these web socket messages um from the part that the computer that runs the test to the remote machine and um it has been implemented and so if you start selenium four now with the latest version it should already work if not create a bug and on that note a big shout out to our friends of this selenium project that have done a really great work on making this possible and working on the selenium four grid and I hope and I'm sure that the selenium four release is right around the corner so looking forward to that um anyone else want to take the next question yeah I saw a question about from from the manga about I've been using WebDriver.io for more than two years and um we use it for different frameworks what are your thoughts on using WebDriver.io for mobile apps and can you see it overtake Java based frameworks for mobile testing well that's kind of like my question because I love mobile and secondly I'm not the biggest friend of Java but that's that's more my thing but I think yeah I've been working now with WebDriver.io for uh since 2017 I think it's it's a really powerful framework especially that you can automate both you can basically what you've done on the web especially when you've got hybrid applications you can do the same thing also in your hybrid application on your mobile phone there are tons of options to to to execute test cases um if we would only look at Appium itself Appium is based on Node.js so yeah why wouldn't you do it why would you use a different language uh to automate for example also a native application which has been written with for example uh React Native which is JavaScript based or with native script so um yeah I think that WebDriver.io is is really powerful uh in in like automating almost everything so yeah I would say go for it nice um let's take another question from our live audience um uh from Rush uh hi everyone are you guys planning on adding any course on Udemy Udemy course error where one of you is teaching Reptile Voc, Cucumber, and Mocker framework from scratch um maybe Kevin you can take this yeah can you bring up the the page you shared the other day of the resources and I can sure thing one second yeah I actually tried responding in YouTube chat with that but uh flagged me a spam because I'm sharing links in YouTube chat and it doesn't like that um yeah there are several courses out there a lot of great courses on um automation with WebDriver.io um you see I'm on there that course is like I mentioned it's under development being rebuilt and um but it will only cover Mocha it won't cover Cucumber because that's um they I had to focus on I've limited time so I had to focus on a specific uh technology and kind of limit the scope but um yeah take a look at that list of courses I believe one of at least one of those is on Udemy um there are a few of them on YouTube itself and then another one through the Aplitools test automation you website so several of those are free to watch and um I and then if you have a Udemy subscription I don't know if you get it for free or not um my course isn't going to be on Udemy it'll be on a private platform that I've had a lot of success with but yeah take a look there and um meet up talks you there's a lot of people are doing great work posting things to YouTube tutorials and everything out there so keep searching on YouTube that's a great spot for it um dev.to dev.to is another site that has had a lot of posts to it I think you just search WebDriver.io it'll be on there yeah um there you go a lot of great resources out there much more than in the past so yeah thank you for everyone who who has posted a video course or has done a conference or meet up talk um again when speaking about contributing to the projects teaching people how to use WebDriver is always one way of contributing to it um I'd say translations are also quite welcome oh yeah that's a good point we that we had we tried and I think we are for German since that's my mother tongue and for Spanish um which was the Barry who was speaking who was one of the project committers um we are like 35 percent for those two languages it would be amazing to have um that have some more translations um or any translation at all um I will hopefully have more time in the future you can find the translation platform if you check out the poll requests and we're using crowdin um and there is well there's no link to it unfortunately I will dig this up and we'll make sure that there's a link to the translation but there's a crowdin page to contribute to WebDriver with translation in different kind of languages and it will be great to have some some different languages for for it and this is something that the open collective will sponsor as well right uh yeah there was a there was a policy suggesting on that um I think uh I haven't I wasn't really sure you know how we exactly nail an amount of money down to what kind of translation um so we have to think about that and and and add this to the collective as an expense policy um that would be great um so yeah uh let's check out the questions I would like to answer Omar's question if you go for it yeah I'm not sure if it's the same person from the question that we have in our overview but I see two questions one is that what is the best way to categorize test suite like smoke sanity checks we actually have a suite option which you can pass to the CLI or through the config that you configure and and we also allow you to use multiple configuration files which you can pass so there's two options that you can use you can define different suites which can run independently or you could actually use two configuration files or multiple configuration files for different completely different configurations if you would like to so I think those are two good ways to do that and I would like to go straight into the other questions that I saw with the same name how can we achieve a good entrant test suite that we can run after any deployment I think the most important thing here is a good architecture to do your research on what you need what are your requirements for the tool you're testing is this a web app is this going to be on mobile so first get your requirements straight then pick the right tool for it and then if you have all your requirements on paper basically then you can come up with a good architecture to to make it maintainable reliable scalable etc so I think that's the main part where you can create good confident reliable setups every maybe something to add on top of that it's not only the technical setup it's also kind of like thinking about your test case which test case makes value for for for my customer and just to have a quite to come up with a simple example if you look at a web shop and you look for example at the order process then being able to select a new genes then also pay the genes might be more important and have more value than being able to adjust your username when you're on the platform so just think about what test cases are really valuable and add those test cases also to those sanity checks if they are broken that will hurt you the most on production it will cost you money please put them at least in those sanity checks yeah for sure another thing I would say is to keep it simple if you test if you're writing custom code to get your stuff going I would say question yourself if it's really something you need to do is this really this workaround really needed or is this complexity really needed and another thing would be that see if you can move your logic or the logic that you're testing to a different place in the pyramid basically so can you do these tests in unit tests for example oftentimes we see labels being checked for example error messages when you remove the input of an input field these things can very easily be tested with with unit tests which takes milliseconds instead of seconds to actually spin up a real browser so I think if you're wise about what you're actually testing and what layer of the test permit for example then this will provide you a lot of confidence in the way you've you you create your your layers and he has some more questions can I just add some more there's two more but that's okay with you I would like to continue yeah then what's the best practice to have global variables across the framework I know of two ways one is to create well actually three environment variables you can define an object in the global scope and put your variables in that one object so you don't pollute the rest of the global scope and another way is that we have a service actually for this and I forgot the full name but there's a store that we have that you can actually install in which you can put these variables you can share them between your your specs actually so that's another one and also in addition to that one I would always try to ask myself what do I want to share between my test cases because if you make test cases depending on the state of the previous test case you're you're basically on the way for getting flaky test cases because if one test case fails and the outcome was not there then your second test case would also fail so yeah also try to think of do I really need to share scopes between test cases so yeah that actually gets back to the previous point don't keep state and the last one is where should we store password and username like credentials and I think for this environment variables are always a good option whether it's in an environment file or in your pipeline at least some place where your this stuff is not exposed at least so these were all the questions I can take another one it asks Gabriel asked how to best test accessibility with web driver IO um I specifically jumped on this one because I've I've looked at this before there is a automation tool for testing web accessibility called axe a x e and actually before I get into that I want to caveat that with you can't fully test accessibility with just automation it has to involve manual testing you have to um it's just it it's accessibility is nuanced in what is accessible and um so much that it a computer really won't be able to know whether something is accessible there are certain instances where um it's kind of a um it really depends on the situation whether some code should be one way or the other so I do want to say that if you are looking to test accessibility automated tools can definitely help but you do need to plan to have a level of manual testing in there as well for various situations and there's a lot of good articles out there I don't want to get into that too much but um with web driver IO there is I I don't know if this got turned into a plugin I think it did the the axe web driver IO axe service and what it will do is you load up the site that you're trying to test um through web driver IO and then you run this plugin which will do a scan of the code the html the css um on the site and then give you a report of major issues it found minor issues it found and then things to be aware of that's where that kind of manual review comes in so that is a a pretty good tool for for doing that I would say for the most part um the purpose of web driver IO in this instance is to allow you to get the page in a state that you want to run the tool in it's not really there to be testing the accessibility itself however it is a good practice or a good test of the site to see if you can actually get to that page or not if if you're having issues um getting to a specific page because of the code the way the code's written then there's a good chance that a someone using a screen reader would also run into issues or someone with um a limited browser or or something else could be facing those same type of issues so just by trying to run your tests running trying to use your website through automation it can expose some um areas especially like with form fields if um you're unable to automate a form field because the javascript is interfering with it that might some that could be an accessibility issue or maybe not maybe it's just a test automation thing anyway um yeah that's the axe a x e um service so take a look at that I can second that um the x project is I think one of the more popular most popular ones in the accessibility area and the company behind I think their name is dq um they actually have a lot of folks that work at the w3c on the accessibility standards so they are the folks that are most knowledgeable about accessibility in web and so they move all this knowledge into that tool so really recommend x core um to do accessibility testing and go to shameless uh promoter plugin but what is it I think a few months ago it was last year Christian and I were in the US and I got a customer asking us about is there a way to also test kind of like the tap order in your page also part of the accessibility testing that they needed to do and what they were doing they were doing a tap based on the send keys and then verify the field and they had a very complex script and based on the blog post from from Richard feedback is his name right pronounce it correctly uh I saw something about injecting a piece of JavaScript into the page drawing a canvas and kind of like walking through all the elements that could be tapped and drawing lines um so I implemented such a thing in the visual comparison module which you can also find in in the web driver you know a github pages where you can just say create a full page screenshot of my page uh do a terrible search and you will get kind of like all the dots and lines and see what your terrible order will be when you would tap through your page it's it's not 100% uh uh um accurate but for 99 I think you can get a good idea about the terrible order of your page what's the name of that service again it said the you muted I muted myself sorry it said WDIO image comparison service okay nice um cool um so I got to take the next one from Dan um in light of the current trends to leverage the use of AI AI and ML verticals to improve software products is there any chance we could see WDIO have an AI ML toolkit to allow users to write self-maintained checks self-maintained visual regression checks question mark um or any other similar use case um so actually I was recently in contact with a company that is doing AI and ML um and they have a platform where you can essentially just walk through a website do your workflow and this platform captures what you do it says uh navigate to page that click on button X enter this value into this input field um and usually I was like so far I have been really skeptic about AI and ML in the testing space I had machine learning in university and I I thought well I don't know how this is going to be applied to testing because you cannot do you cannot have a lot of false positives right you need to how do you train your um your AI um you know uh your AI thing um to to get good results so I'm I kind of a still skeptical but this platform really has somehow convinced me that because it's able to detect what you want to do and so I can think about and I was talking about how we can integrate this into web.vo it could look like in a way that you write cucumber test without having to write step definitions and the platform will execute the test for you based on the cucumber feature description that I written in plain English um uh just from that so you can check in your steps what you want to do and web.vo will transform this we'll send it to that platform and runs it from the platform um so that's something um I'm looking into working on and then we'll share the results as soon as I I got them um so we're looking into that but we will see how how this will look like um cool um what next so I see one questions that are kind of like combined one from Alexander what's the plan for sync mode and the other one from Luka why should I use async mode instead of sync mode um so the sync mode we introduced um because we've I feel like it's a great way to really keep the test code simple uh especially with the amount of folks that move from Java frameworks to JavaScript um they usually have a difficult time to understand what how promises work and and you know how you can execute your steps in a synchronous way um and I feel like the synchronous mode even though it requires you to have fibers installed or to support fibers on your platform it makes it really simple unfortunately the person who implemented or developed fibers has stepped away from the project so um we're currently like on the on the verge of being like okay what what's going to be next can it be supported with the next node js upgrade um I hope it will I hope it will keep it keeps working if not we will have to I will have to look into how I could you know make it work again or maybe we get help from the original maintainer but my goal is to keep sync mode to keep single mode away or alive as long as possible because it really simplifies the usage of web.lyl and why would you use async mode instead of sync mode well there's as I just mentioned the chance that we cannot support sync mode anymore at some point so then you would have to rewrite all your tests into promises which can be difficult undertaking however I'm pretty sure we can keep sync mode running for the next years and therefore there's no real reason why you should prefer the one over the other whatever you however your development team feels like if you have a team of proficient javascript engineers that will feel comfortable writing async conus code then go for async conus for the async conus mode if you are fine with the a lot with all these awaits and and async statements in them you know whatever you prefer there's no real I just say sync mode is simpler and that makes the test easier to read especially if you work with page objects but you know it's at the end there's no advantage from one over the other it's just the way how you write tests anyone prefers to take any one next questions no but I think I can ask a question to you this is a question from Sumi about what was the idea behind the Web Drive RIO logo because I've been there since 2017 and and Kevin a little bit longer but I think you have the the best experience with the logo so I actually don't I so originally at some point I needed I wanted to create a website every open source project in I don't know when it was when we had when we launched our first Web Drive RIO website I think might be somewhere in 2015 every project had their website so I asked a friend to I used to work with he was a designer who actually also designed the latest website the version 7 version the version 7 documentation so a latest documentation he helped me with that as well and so he back then I was like okay man I need a logo I need a website can you do that for me and I thought he had no he's not a tacky or a programmer so I explained him what this project would do so something with automation and his association with automation was to create a robot and then we just you know we put it in orange and that's the story behind it there's nothing much I really like though how the robot animates on the website these days I feel I like that and most but other than that there's no no personal connection to the robot I eventually had the idea of getting a tattoo of the robot but um maybe when we reach uh 100,000 stars on guitar I think you would have an orange carrot on your arm I will so go nuts on the like button I guess yeah it's not on youtube so I guess I will regret this at some point anyway can we use the open collective funding to to fund the tattoo it's not in our policies I guess we I can make an amendment but technically cool there's everyone do you have a question yeah I see some live questions coming in and I saw something about API testing or the communication layer automation and a related question about is there a way to check for a specific request while doing advent tests on the front end and currently this should be possible with perfeteer or with the dev tools API as we like to call it and there's also a white book service that I wrote which you can use for this I'm not sure if there's any other options that you guys know of but you can always use tools like child chai requests for example which with which you can do some requests um I don't think that I don't see the use of doing API tests with WebDriver.io WebDriver.io is a end-to-end test tool so combining the tool doesn't doesn't make sense to me but if you want it is possible combining other tools with WebDriver.io if you really like to um and for for most things I think that the DevTools API provides most of your your use cases yep totally we we recently with version seven and version six started to integrate more into the Chrome DevTools protocol to allow at least for local testing and now with Selenium 4 even in the grid um to allow to do some network analytics and network testing um so we even have like a mocking and stubbing primitives that you can use to check if the browser has called a certain a certain endpoint or a certain API and you can write an assertion to expect that the browser has called that endpoint with a certain status code a certain header uh things like that so um yeah that is um that is something you can you can do with the network primitives um maybe one question we take from the backlog and um something that you then uh mentioned that a lot of customers at source ask um uh so me and Wim we both work for source labs and the usually question the usual question that comes up is is WebDriver.io owned by source labs and or has source labs an impact on the roadmap of the project uh so WebDriver.io is owned by the OpenJS Foundation uh all the trademarks all the code if you make a poll request you have to sign a CLA that means that you kind of like um give the um you know the the copyright of your code to the foundation and um with that um you know it is completely contribute other um you know properties intellectual properties are contributed to the OpenJS Foundation um so that means that um technically uh like the foundation owns the project and um companies like source labs who are heavily uh which customers heavily use WebDriver.io and um you know are interested in the success of the project they can contribute like any of the other companies in the world too and uh we have uh specific uh contribution and governance policies that will determine how you know road maps can be changed and right now road map changes are you know defined by the technical steering committee and to be part of the technical steering committee you need a certain number of qualitative poll requests and um contributions to the project and so if any company is interested in contributing to the project um um they will be part of the this technical steering committee group and therefore can then also be part of deciding where the project has to be developed so it's completely open sourced compared to some other projects in this space that you know are open sourced but that are heavily baked by a company and in this way it is kind of more difficult to make changes to the road map because the company behind this project is interested in um you know steering it and in the case of WebDriver.io um the governance is completely open and free um so everyone who participates in the project has the right to say and change the project direction do you think them that answers the question? Yeah it's almost the same story that I tell a heavy customer. I'm I'm lucky or fortunate enough that kind of source that pays me to work on WebDriver.io which is why I for instance can also not access the collective um because um the policy in the collective is any development does not it's not be allowed to be sponsored by a company or you if you get paid to contribute to WebDriver.io you're not eligible to access the funding and so um so yeah source apps is um a company that pays me to work for pays me and Grim as well to work on WebDriver.io and um so we are fortunate enough to do that um and um yeah let's see um we have five minutes left um some let's see let's let's let's take this close-up question and then see where we're going from go from there maybe I could get everyone's of your opinion uh so where do you like to see WebDriver in about five years from now? I'm sure there will be my major many major changes but I would like to know most significant changes uh I'm happy to start um so I think the biggest change and challenge we we see within the next month and years will be uh the you know upgrade to the WebDriver by-die protocol uh so the the working group at the W3C who has standardized the WebDriver protocol is now working on a bi-directional protocol which is kind of like you can imagine the version two of WebDriver and with that you will be able to do things that you currently see in two other tools um for instance Papatier uh you know more access to network primitives and and development developer features that you know are interest for developers and um I think it's really it's going to be really interesting to not only participate in that development but also to bring this into WebDravio and wrap those primitives that we now get into nice features that makes it really easy to test against APIs to test against network network behavior of the browser to make accessibility testing easier and all the other things that that come up and um we really like to get your like I would really be interested and curious about people that use WebDravio what they're interested in we had conversations about creating an IDE I think uh you Kevin took a stab at this I know that uh also um um will create it a SWALT SWALT GUI for an electron app um so that is also part of the roadmap and you know we are open to suggestions to the roadmap and um you know see what you all interested in um yeah what do you all think? If I may go first uh I think one of the biggest changes that we'll see uh it's just a prediction of course but I think we'll move uh see a movement away from mobile and more towards uh PWA applications for which um I think Appian message will uh we'll see a different future maybe I'm not sure but it's just a prediction that I think everything will move to the web um and you'll use that same application as a web as a native uh Android app for example um so that's one prediction that I have uh that I think is very interesting yeah that's a good one and and I was I was more thinking not in a technical way of WebDravio but I think where would you see WebDravio in about five years from now I think it it might be a project which is bigger than than it is already if you would look at other projects I think that WebDravio is here the longest and made the biggest changes and I think also the biggest impact uh on the market for multiple cross browser web uh for mobile electron applications um so where do I yeah where do I see it in five years from now well first of I hope we get those 100,000 uh stars and then I would hope to see but I think uh looking at kind of like the health of the project now uh I believe that in five years the project could still be there uh uh being a framework that you can rely on so uh it's not looking at features itself but just as a framework that if you're now as a company investing heavily in creating an automation framework that several teams will use uh that WebDravio is a very good choice uh because of all the things that WebDravio supports and also the OpenJS Foundation support that that we have uh I think that makes a huge difference in comparison to all the other frameworks that are out there that that might not have that OpenJS Foundation funded by uh uh different parties so yeah I think that that will be in my opinion is also one of the biggest powers of WebDravio yep and I'll add my uh thoughts on this um one thing I'd really like to see and and hoping to help out with is uh improving the way that debugging is done I think that's one issue that I personally run into and I see other people run into a lot is um it WebDravio is great at writing really simple tests and being very functional um when those tests don't run the way that you're expecting them to uh while there are some really great tools like the browser debug command the the REPL you can use as well um there's still it still takes a little bit of time especially if the error happens on CICD and um that type of thing that type of thing so working on improving that level is something that I am personally interested in and something I'm hoping to contribute to um like was mentioned the uh the GUI is kind of a step towards that direction um also having a kind of platform WebDravio as a as a platform where um you can kind of host your tests on a site and it runs everything for you and captures all the screenshots and kind of neatly packages all of it I think would be really great to see um in the future so it's kind of my my hope's there cool and to wrap up I think something that I really wish for and I'm working towards that is like to increase the amount of contributors in our technical team create a more diverse team that is part of the real world and then you know create more initiatives around the project with um more contributors and so if you want to get involved um get involved reach us out on Twitter on Gitter um there are ways to contact us there are many ways to contact us um with that thank you all for for joining our Q&A session hope you enjoyed it and we will answer all the unanswered question as part of a blog post over the next coming days so stay tuned for that and