 I will start my presentation talk about Appium 2.0. First, let me introduce myself briefly. My name is Katsudaki Matsuo, working at Hatspin as a senior software engineer. Previously, I was test and QA and automation role at Cook Part and Access. And so I explained many QA and test and automation role. And currently I'm developing Appium and some relevant tools and environment at Hatspin. And I also maintain Appium project. So my GitHub account is Katsukoko. So probably if someone saw some Appium repository and client side as well, then probably you saw my name in some place. And today I'd like to show you Appium 2.0 and our future in Appium 2.0 to improve your understanding of Appium 2.0. Today's main topic is I hope for items. First, I'd like to show how to install drivers and plugins in Appium 2.0. In the keynote, just I explained Appium 2.0 have ability to allow installing drivers and plugins. But, and then he just show some command. So in this talk, I will explain the installation and in the second step, I will show an argument to manage dependencies. The name is Appium home. And after that, I will show you some customization to install drivers and plugins on your local and a bit more advanced usage. In the end, as our topic for I will show two arguments to improve some performance or loading performance. So first for three items is our main topic to in this talk. And then the final one is a bit more an additional thing. I forget to explain this mentioned this. Today, I will show you some command. And I will show this slide and switching the switching and doing a demonstration and doing explanation and switching both and to improve your understanding. So this talk will switching this side and our command line tools to show you some, you know, to show actual one. Let's go ahead. First, I will show installing up drivers and the plugins, we are putting 2.0 command. So just showing some installation command in the keynote. So you can install. Once you install Appium on your local and then you can install multiple drivers and plugins. For example, the top one is Appium driver install XTWI test, then you can install XTWI test driver on your local. Let me run a bit more big country. My local have Appium 2.0 and the latest I forget the version but Appium 2.0 is in my local. So Appium driver install XTWI test. And after this command, Appium try to install the XTWI test driver from NPM repository. And checking something for in the background, Appium try to trying to install this XTWI test driver from the internet. Usually, if your local environment still does have XTWI test driver on your local, then this command installs the XTWI test from NPM repository, but I already have XTWI test driver on my local. So like this error appears. But you can install other drivers using this Appium driver install blah blah blah, same as plugins as well. So Appium plugin install something then you can install the driver on your local. But my local environment have already installed XTWI test so the error is shown. Next is let's try to run Appium 2.0 on my local. So let's try to run first. Without known arguments just this Appium command. And then Appium 2.0 launched and try to load available drivers on my local. So I'm launching and the Appium driver try to load various drivers on my local. So Safari XTWI test, Flutter, QA automation and the Appium launches this listener. Currently on my local Appium listen to 4723 pot. And the available drivers is this for currently on my local. And the plugins also available with this fake driver, which is I use in Appium testing and the images is also Appium driver. And this is just I run Appium command. So like this. After launching Appium, then Appium try to install available drivers on your local. And then, after that, Appium print available drivers and available plugins. Once you launch Appium on your local, and if you already installed various drivers and the various plugins, and then you can confirm which driver is available on your local and which plugins also available on your local. But one question is where the they are. I mean, where is the drivers and the plugins installed in. And one very important thing by default on this is a macOS and the Linux case. I forget, unfortunately, Windows case where the press but Windows case actually have this default place. And by default, Appium install Appium dependencies under dot Appium directory. In my case, or so let's try to find the default place. Yes. In the default home in the home directory and the dot Appium directory, then you can see various drivers and the plugins. This local environment have the Safari and X UI and the Flutter and the UI automated to drivers. So you can see Flutter and the UI automated to and the Safari and X UI test drivers. And this environment have fake and images plugins. The plugins is in this Appium directory. So you, once you check the dot Appium directory, then you can see some plugins, fake plugins and images. And this dot Appium directory also have on file, which is called extension CMO. This file is also very important for Appium. Check this, take a look at this file update. And then you can see some metadata used by Appium to manage drivers and plugins. Appium handle drivers and detect basically Appium detect drivers checking this extension YAML. So in this case, if you send specify X UI test driver and the platform name is iOS, then Appium detects current driver should be this X UI test driver. This extension file have more actual metadata but almost used by Appium internal. The important thing is basically this automation name and the platform names. They are managed in there in this dot Appium directory and Appium put drivers and plugins into this dot Appium directory by default. And the directory of extensions YAML file to handle Appium dependencies. Back to slide. So, yeah, I explained extensions YAML. And they go ahead. Yeah. So, the next already next step. Yeah. The next is Appium home argument. I explained by default Appium install drivers and plugins in dot Appium directory in the home directory place. Let me show this Appium home argument thing. First, to understand the behavior, let's try to run this command. Appium and use session one. And then I just launched Appium command with this Appium and with Appium home. The directory parse is this and then Appium actually launched but nothing load, nothing drivers loaded and the plugins also nothing. What happened? With this Appium home, you can customize the dot Appium directory place. And with this command, you can change the loaded place by default. Drivers and plugins are installed in dot Appium directory in my home directory. But with this Appium home, I specified the parse which is not in dot Appium. So try to load the dependencies from this new place. Appium home argument itself specified this parse. So you can customize the price to install drivers and plugins with this. Let's try to install XCY test driver with this Appium home argument. Let's stop once and the Appium driver install XCY test with Appium home. And then, initially, I typed this Appium driver install XCY test, but then the command failed because I already installed the XCY test driver on my local. And finally, you can see XCY test driver on the default dot Appium directory, but in this time, I typed the same XCY test driver installation in the new place. And finally, install is proceeding, provide it takes in a minute. Let's back to the slide up a bit. And once install is finished, then Appium print like this output. So installation finished and the target automation name is XCY test and the platform is iOS in this case. So if you install, for example, you are automated to then this automation name should be or you are automated to, and this person platform name is Android. So probably already finished. That's who was he sorry we only have five minutes left. Let's go ahead. Sorry, my keyboard is a bit lagged again. And after finishing the install, then the new place already hover to one directory and the one file and already finished. So once you install this new place with Appium command, then the driver, the command to try to load the XCY test and yeah, this file already have XCY test drivers so Appium succeeded to load this XCY test driver. The one important thing is just copy this driver file to the new one, for example, session one hyphen one, and then you can see the same file as this just a session one into the session one one. And once you launch the Appium with this one one directory, then Appium also succeed to load the XCY test driver because this session one and one one have the same drivers and Appium load drivers in this place. It means if you manage only this Appium home directory and move this place on to, for example, CI server or some price, and then you can use the same driver and load the same driver on the someplace other place. The important thing is, you must confirm that what architecture is built for. So, currently, I install XCY test driver for macOS, then probably some dependencies might only for macOS. So if you want to move this driver to Linux environment, for example, and then you need to prepare drivers for Linux. Three, the time is coming. So I explained it only one line, but the side explained the same thing. So go ahead, go ahead. And the last thing is plugins and drivers argument. First, only I launched Appium, then it takes a bit long time to load all drivers. So one, two, three, four drivers on this local. So the Appium takes much time to load all drivers. When you only want to load only one driver, and then you can specify drivers and plugins argument, you can add some drivers with common separation, but in this time just launch with XCY test only. Then Appium load only XCY test driver. So even you, your local have more drivers, but you can, you, when you want to use XCY test driver only, then you can specify XCY test driver with drivers argument, then you can reduce the loading performance time when Appium launches. And the plugin also, you can use the same. So once you specify the plugin with plugins argument, then Appium load XCY test driver and enable this images plugins only, okay. So the time is a bit over, but my, my talk is everything. So I explained there some drivers and plugins relation and Appium whole thing to customize the location to install Appium dependencies. And I also explained the drivers and plugins arguments to manage loading dependencies. So we have a bit of time, but that is for me. Yeah, thank you. At the moment we have two questions. Maybe you want to answer the questions that we have from the attendees. Okay, the first one. Yeah, the specified version is actually easy. I just typed XCY test driver, but you can specify out some versions. So if you want to install XCY test 3.515.1, for example, and in that case, you can just install, this is not an installation command, but you can install it like this, and then Appium install this version. A bit more slowly. This one. Okay. The next question is, do we need to configure WDS proprietary for different Appium home directories. Okay, the WDRIVER agent is included in XCY test driver directory. So WDA also in XCY test driver, and if in case you want to prepare pre-build XDA binary on your local to reduce some building steps, then you need to prepare the WDA process outside Appium, but it depends on the macOS system. So it is not in the Appium. Actually, WDA module itself is inside Appium home, but the building and the building module by default is outside Appium directory and Appium handling area. So you need to properly prepare separate place for WDA. Yeah, I think there are no more questions about Zouaki. So that brings us to the end of the session. I'd like to say thank you everyone for joining us. Thank you God Zouaki for sharing your experience today.