-
Notifications
You must be signed in to change notification settings - Fork 188
BREAKING CHANGE: use extension commands for deprecated endpoints #939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 41 commits
66e9efc
bb601d3
2542436
59a7989
06ca05d
60f44e5
7e0c572
36c8977
8ff9220
aecf529
83cbd42
c990f61
efe2039
093bc24
fcecd7f
a976847
e247c7d
e6d66b4
8fdec23
e4cef26
bce7f86
0b800b9
1aa6456
a07868e
e90ea69
daa2180
1a0a020
19b5a35
fe1f83a
28f77ea
da7f31d
3b2a205
ad5834c
823e020
862f7f5
e62c602
b200293
54fdc79
bdb386d
cfbf58e
acab15b
bae40c6
47c51ea
b99efa7
f109cc0
93ca05b
94dd159
dd58fe7
3812d96
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,12 +11,12 @@ | |
|
||
[](https://opensource.org/licenses/Apache-2.0) | ||
|
||
This driver is an extension of the [Selenium](http://docs.seleniumhq.org/) C# client. It has | ||
This driver is an extension of the [Selenium](http://docs.seleniumhq.org/) C# client. It has | ||
all the functionalities of the regular driver, but add Appium-specific methods on top of this. | ||
|
||
## Compatibility Matrix | ||
|
||
The Appium .NET Client depends on [Selenium .NET binding](https://www.nuget.org/packages/Selenium.WebDriver), thus the Selenium .NET binding update might affect the Appium .NET Client behavior. | ||
The Appium .NET Client depends on [Selenium .NET binding](https://www.nuget.org/packages/Selenium.WebDriver), thus the Selenium .NET binding update might affect the Appium .NET Client behavior. | ||
For example, some changes in the Selenium binding could break the Appium client. | ||
|
||
|Appium .NET Client| Selenium Binding | .NET Version | | ||
|
@@ -27,8 +27,23 @@ For example, some changes in the Selenium binding could break the Appium client. | |
|`5.0.0` |`4.0.0` - `4.22.0` | .NET 6.0, .NET Framework 4.8 | | ||
|`4.4.5` |`3.141.0` |.NET Standard 2.0, .NET Framework 4.8 | | ||
|
||
|
||
## v8 | ||
To keep compatibility with Appium v3, most deprecated endpoint method calls have been replaced with compatible [extension command](https://appium.io/docs/en/latest/guides/execute-methods/) with [this PR](https://github.com/appium/dotnet-client/pull/939). Old drivers which still haven't implemented extention commands might not have proper implementation. Then, you will need to update Appium driver versions first. | ||
KazuCocoa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
| Removed Method or argument | Note | | ||
|------------|----------------------|-------| | ||
| `ToggleAirplaneMode()` | Change with `airplaneMode` parameter in [mobile:setConnectivity](https://github.com/appium/appium-uiautomator2-driver#mobile-setconnectivity) | | ||
| `ToggleData()` | Change with `data` parameter in [mobile:setConnectivity](https://github.com/appium/appium-uiautomator2-driver#mobile-setconnectivity) | | ||
| `ToggleWifi()` | Change with `wifi` parameter in [mobile:setConnectivity](https://github.com/appium/appium-uiautomator2-driver#mobile-setconnectivity) | | ||
| `SetConnectionType()` | Change connection type with [mobile:setConnectivity](https://github.com/appium/appium-uiautomator2-driver#mobile-setconnectivity) | | ||
| `GetConnectionType()` | Get connection state with [mobile:getConnectivity](https://github.com/appium/appium-uiautomator2-driver#mobile-getconnectivity) | | ||
| `EndTestCoverage()` | Already deprecated. | | ||
| `StartActivityWithIntent()`, `StartActivity()` | Use [mobile:startActivity](https://github.com/appium/appium-uiautomator2-drive#mobile-startactivity) to start an expected activity | | ||
KazuCocoa marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| `strategy` argument in `HideKeyboard()` | It worked only deprecated [old ios driver](https://github.com/appium-boneyard/appium-ios-driver) | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure I understand that part. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That was a removal which worked only for outdated appium-ios-driver. I'll exclude this from the table. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
## v5 | ||
|
||
### Appium server compatibility for v5.x | ||
|
||
> [!IMPORTANT] | ||
|
@@ -44,24 +59,24 @@ App management: Please read [issue #15807](https://github.com/appium/appium/issu | |
### Migration Guide to W3C actions | ||
```csharp | ||
using OpenQA.Selenium.Interactions; | ||
|
||
var touch = new PointerInputDevice(PointerKind.Touch, "finger"); | ||
var sequence = new ActionSequence(touch); | ||
var move = touch.CreatePointerMove(elementToTouch, elementToTouch.Location.X, elementToTouch.Location.Y,TimeSpan.FromSeconds(1)); | ||
var actionPress = touch.CreatePointerDown(MouseButton.Touch); | ||
var pause = touch.CreatePause(TimeSpan.FromMilliseconds(250)); | ||
var actionRelease = touch.CreatePointerUp(MouseButton.Touch); | ||
|
||
sequence.AddAction(move); | ||
sequence.AddAction(actionPress); | ||
sequence.AddAction(pause); | ||
sequence.AddAction(actionRelease); | ||
|
||
var actions_seq = new List<ActionSequence> | ||
{ | ||
sequence | ||
}; | ||
|
||
_driver.PerformActions(actions_seq); | ||
``` | ||
|
||
|
@@ -83,7 +98,7 @@ Dependencies: | |
- [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/) | ||
|
||
Note: we will NOT publish a signed version of this assembly since the dependencies we access through NuGet do not have a signed version - thus breaking the chain and causing us headaches. With that said, you are more than welcome to download the code and build a signed version yourself. | ||
|
||
## Usage | ||
|
||
### basics | ||
|
@@ -98,7 +113,7 @@ Note: we will NOT publish a signed version of this assembly since the dependenci | |
[See samples here](https://github.com/appium/sample-code/tree/master/sample-code/examples/dotnet/AppiumDotNetSample) | ||
|
||
|
||
## Dev Build+Test | ||
## Dev Build+Test | ||
|
||
Xamarin/Mono | ||
- Open with [Xamarin](http://xamarin.com/) | ||
|
@@ -117,7 +132,7 @@ Visual Studio | |
|
||
## Nuget Deployment (for maintainers) | ||
|
||
### To Setup Nuget | ||
### To Setup Nuget | ||
Dor-bl marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Download [Nuget exe](http://nuget.org/nuget.exe). | ||
- Setup the Api Key ([see here](http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#api-key)). | ||
- `alias NuGet='mono <Nuget Path>/NuGet.exe'` | ||
|
Uh oh!
There was an error while loading. Please reload this page.