appium / dotnet-client

Extension to the official Selenium dotnet webdriver
Apache License 2.0
373 stars 186 forks source link

[Bug]: Selenium 4.22 introduces breaking change in ICommandExecutor implementations in Appium #798

Open kelmelzer opened 1 week ago

kelmelzer commented 1 week ago

Description

Updating to Selenium 4.22 introduces a breaking change due to the additional async method ExecuteAsync() ICommandExecutor interface:

https://github.com/SeleniumHQ/selenium/blob/selenium-4.22.0/dotnet/src/webdriver/ICommandExecutor.cs

Selenium devs also rewrote several of their current implementations of Execute() to use ExecuteAsync() (by Task.Run(...)), and I believe that is causing this error when I use Appium 5.0.0 with Selenium 4.22:

'Method 'ExecuteAsync' in type 'OpenQA.Selenium.Appium.Service.AppiumCommandExecutor' from assembly 'Appium.Net, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.'

Reverting back to Selenium 4.21 resolves this.

Environment

.NET 8.0.6 Appium 5.0.0 Selenium 4.22 Occurs with both AndroidDriver and IOSDriver instantiations