diff --git a/README.md b/README.md index 7759eea..7a9b519 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Get the latest version from `https://pub.dev/packages/appium_flutter_server/inst ```yaml dev_dependencies: - appium_flutter_server: 0.0.27 + appium_flutter_server: 0.0.28 ``` 2. Create a directory called `integration_test` in the root of your Flutter project. diff --git a/package.json b/package.json index 1f1b307..73bf238 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "appium", "flutter" ], - "version": "1.1.4", + "version": "1.1.5", "author": "", "license": "MIT License", "repository": { diff --git a/src/driver.ts b/src/driver.ts index 543f26c..388faed 100644 --- a/src/driver.ts +++ b/src/driver.ts @@ -137,6 +137,13 @@ export class AppiumFlutterDriver extends BaseDriver { required: ['imageId'], }, }, + 'flutter: renderTree': { + command: 'renderTree', + params: { + required: [], + optional: ['widgetType', 'text', 'key'], + }, + }, }; async doubleClick(origin: any, offset: any, locator: any) { @@ -430,4 +437,21 @@ export class AppiumFlutterDriver extends BaseDriver { }); return activateAppResponse; } + + async renderTree(widgetType?: string, text?: string, key?: string) { + const body: Record = {}; + + if (widgetType !== undefined) { + body['widgetType'] = widgetType; + } + if (text !== undefined) { + body['text'] = text; + } + if (key !== undefined) { + body['key'] = key; + } + + const url = `/session/${this.sessionId}/element/render_tree`; + return this.proxy?.command(url, 'POST', body); + } }