Giter Club home page Giter Club logo

appium-inspector's Introduction

Stand With Ukraine

Appium

Cross-platform test automation for native, hybrid, mobile web and desktop apps.

NPM version Monthly Downloads FOSSA Status StandWithUkraine


Documentation | Get Started | Ecosystem | Changelog | Roadmap | Discussion Forum


Appium is an open-source automation framework that provides WebDriver-based automation possibilities for a wide range of different mobile, desktop and IoT platforms. Appium is modular and extensible, and supports multiple programming languages, which means there is an entire ecosystem of related software:

  • Drivers add support for automating specific platforms
  • Clients allow writing Appium tests in your programming language of choice
  • Plugins allow to further extend Appium functionality

Migrating From Appium 1 to Appium 2

As of January 1st, 2022, the Appium team no longer maintains or supports Appium 1. All officially supported platform drivers are only compatible with Appium 2.

Please read the Migration Guide if you are still using Appium 1.

Warning

If you use Appium Desktop or Appium Server GUI, you will not be able to upgrade to Appium 2, as both of these tools have been deprecated. Please use Appium Inspector in combination with a standalone Appium 2 server.

Installation

Appium can be installed using npm (other package managers are not currently supported). Please check the installation docs for the system requirements and further information.

If upgrading from Appium 1, make sure Appium 1 is fully uninstalled (npm uninstall -g appium). Unexpected errors might appear if this has not been done.

npm i -g appium

Note that this will only install the core Appium server, which cannot automate anything on its own. Please install drivers for your target platforms in order to automate them.

Drivers

Appium supports app automation across a variety of platforms, like iOS, Android, macOS, Windows, and more. Each platform is supported by one or more "drivers", which know how to automate that particular platform. You can find a full list of officially-supported and third-party drivers in Appium Ecosystem's Drivers page.

Driver management is done using Appium's Extension command-line interface:

# Install an official driver from npm (see documentation for a list of such drivers)
appium driver install <driver-name>
# Install any driver from npm
appium driver install --source=npm <driver-name>
# See documentation for installation from other sources

# List already installed drivers
appium driver list --installed
# Update a driver (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium driver update <driver-name>
# Update a driver to the most recent version (may include breaking changes)
appium driver update <driver-name> --unsafe
# Uninstall a driver (it won't last forever, will it?)
appium driver uninstall <driver-name>

Clients

Client libraries enable writing Appium tests in different programming languages. There are officially-supported clients for Java, Python, Ruby, and .NET C#, as well as third-party clients for other languages. You can find a full list of clients in Appium Ecosystem's Clients page.

Plugins

Plugins allow you to extend server functionality without changing the server code. The main difference between drivers and plugins is that the latter must be explicitly enabled on Appium server startup (all installed drivers are enabled by default):

appium --use-plugins=<plugin-name>

You can find a full list of officially-supported and third-party plugins in Appium Ecosystem's Plugins page.

Similarly to drivers, plugin management is also done using Appium's Extension command-line interface:

# Install an official plugin from npm (see documentation for a list of such plugins)
appium plugin install <plugin-name>
# Install any plugin from npm
appium plugin install --source=npm <plugin-name>
# See documentation for installation from other sources

# List already installed plugins
appium plugin list --installed
# Update a plugin (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium plugin update <plugin-name>
# Update a plugin to the most recent version (may include breaking changes)
appium plugin update <plugin-name> --unsafe
# Uninstall a plugin
appium plugin uninstall <plugin-name>

Server Command Line Interface

In order to start sending commands to the Appium server, it must be running on the URL and port where your client library expects it to listen. Appium's command-line interface is used to launch and configure the server:

# Start the server on the default host (0.0.0.0) and port (4723)
appium server
# You can also omit the 'server' subcommand
appium
# Start the server on the given host, port and use a custom base path prefix (the default prefix is '/')
appium --address 127.0.0.1 --port 9000 --base-path /wd/hub

Appium supports execution of parallel server processes, as well as parallel driver sessions within a single server process. Refer the corresponding driver documentations regarding which mode is optimal for the particular driver or whether it supports parallel sessions.

Why Appium?

  1. You usually don't have to recompile your app or modify it in any way, due to the use of standard automation APIs on all platforms.
  2. You can write tests with your favorite dev tools using any WebDriver-compatible language such as Java, Python, Ruby and C#. There are also third party client implementations for other languages.
  3. You can use any testing framework.
  4. Some drivers like xcuitest and uiautomator2 have built-in mobile web and hybrid app support. Within the same script, you can switch seamlessly between native app automation and webview automation, all using the WebDriver model that's already the standard for web automation.
  5. You can run your automated tests locally and in a cloud. There are multiple cloud providers that support various Appium drivers (mostly targeting iOS and Android mobile automation).
  6. Appium Inspector can be used to visually inspect the page source of applications across different platforms, facilitating easier test development.

Investing in the WebDriver protocol means you are betting on a single, free, and open protocol for testing that has become a web standard. Don't lock yourself into a proprietary stack.

For example, if you use Apple's XCUITest library without Appium, you can only write tests using Obj-C/Swift, and you can only run tests through Xcode. Similarly, with Google's UiAutomator or Espresso, you can only write tests in Java/Kotlin. Appium opens up the possibility of true cross-platform native app automation, for mobile and beyond!

If you are looking for a more comprehensive description of what this is all about, please read our documentation on How Does Appium Work?.

Sponsors

Appium has a Sponsorship Program! If you or your company uses Appium and wants to give back financially to the project, we use these funds to encourage development and contributions, as well as support other open source projects we rely on. Become a sponsor via our OpenCollective page.

Development and Strategic Partners

Appium is incredibly grateful to our Development and Strategic Partners for their sustained contribution of project development and leadership!

HeadSpin

Browserstack

Sauce Labs

Other Sponsors

A full list of sponsors is available at our Sponsors page.

License

Apache-2.0

FOSSA Status

@appium/logger package is under ISC License.

appium-inspector's People

Contributors

ath0mas avatar dan-maor avatar dependabot[bot] avatar donmezburak avatar dpgraham avatar eglitise avatar emaan-c avatar eyaly avatar gchickma avatar github-actions[bot] avatar haniaoukalexperitest avatar jlipps avatar jochen-testingbot avatar kazucocoa avatar lofi96 avatar miwtoo avatar mykola-mokhnach avatar nttr-kurisima avatar orionlize avatar renovate-bot avatar renovate[bot] avatar rushian avatar shibupanda avatar sudharsan-selvaraj avatar superroach avatar swngarg-lt avatar vliubezny avatar wswebcreation avatar youngfreefjs avatar zeufack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appium-inspector's Issues

How can I find the code of interaction between the appium-inspector and appium-desktop

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • [v] I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

I read "appium-inspector\app\renderer\actions\Inspector.js" and found that the actions like setFieldValue will be sent to the appium-desktop
image
But I can't get more details because I don't know what is the "dispatcher function".
Wind you mind to give me some help?

Environment

  • I am running Appium Desktop version <1.21>.
  • I am on (pick one):
    • Mac
    • [v] Windows
    • Linux

[ERROR] Failed to create session.

Failed to create session. The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource

Tested on Mac OS

image

[HTTP] Waiting until the server is closed
[HTTP] Received server close event
[Appium] Welcome to Appium v1.22.0
[Appium] Non-default server args:
[Appium]   relaxedSecurityEnabled: true
[Appium]   allowInsecure: {
[Appium]   }
[Appium]   denyInsecure: {
[Appium]   }
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> POST /session
[HTTP] {"capabilities":{"alwaysMatch":{"platformName":"Android","appium:platformVersion":"11.0","appium:deviceName":"Pixel 3a XL API 30","appium:automationName":"UiAutomator2","appium:app":"https://unity.rekki.com/android-apks/rekki-demo-release-20.29.31.apk","appium:autoGrantPermissions":true,"appium:avd":"Pixel_3a_XL_API_30","appium:fullReset":true,"appium:enforceAppInstall":true,"appium:ensureWebviewsHavePages":true,"appium:newCommandTimeout":0,"appium:connectHardwareKeyboard":true},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"Android","appium:platformVersion":"11.0","appium:deviceName":"Pixel 3a XL API 30","appium:automationName":"UiAutomator2","appium:app":"https://unity.rekki.com/android-apks/rekki-demo-release-20.29.31.apk","appium:autoGrantPermissions":true,"appium:avd":"Pixel_3a_XL_API_30","appium:fullReset":true,"appium:enforceAppInstall":true,"appium:ensureWebviewsHavePages":true,"appium:newCommandTimeout":0,"appium:connectHardwareKeyboard":true}}
[HTTP] No route found for /session
[HTTP] <-- POST /session 404 6 ms - 211
[HTTP] 

image

image

Hybrid mode iOS not highlighting elements in screenshot

Appium Inspector

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

Environment

  • I am running Appium Inspector version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

The problem

With the old Appium Desktop inspector you were able to highlight elements in the screenshot when you switched to the webview. As you can see in the screenshot you're not able to do that anymore.

image

Steps to reproduce:

  • use a hybrid app
  • switch to the hybrid mode
  • switch to the webview
  • try to select an element in the screenshot / select an element in the HTML tree

Cause:

This line of code is causing this issue https://github.com/appium/appium-inspector/blob/main/app/renderer/lib/appium-client.js#L240. It needs to switch back to the webview to be able to inject JS in the page to get the element rectangles here https://github.com/appium/appium-inspector/blob/main/app/renderer/lib/appium-client.js#L250

Appium Inspector 1.17.1 creates uncompilable Java8 code

The problem

Appium Inspector 1.17.1 creates uncompilable Java8 code.

Environment

  • Appium version: 1.17.1
  • Desktop OS/version: Mac OSX Catalina Version 10.15.6 (19G2021)
  • Android 10
  • Emulator/simulator (Samsung S8)
  • Appium.app

Details

Recording a simple swipe action with start and end point produces:

(new TouchAction(driver))
  .press({x: 684, y: 244})
  .moveTo({x: 678: y: 2505})
  .release()
  .perform()

Needed to correct the {x: 684, y: 244} type sections and also needed to add a semi colon at the end.

I updated the statement to look like this:

(new TouchAction(driver))
  .press(PointOption.point(684, 244))
  .moveTo(PointOption.point(678, 2505))
  .release()
  .perform();

Latest Dev Build of Master can't connect to Sauce Labs and BrowserStack

The problem

I'm using the latest master and execute the following steps:

  1. npm i in the root
  2. in a new terminal window cd inspector && npm i && npm run dev
  3. set up a connection with Sauce Labs by providing my username and accesskey + create a config that works with AD 1.18.3

When I try to connect to Sauce Labs I get this error
image

and the logs
image

Environment

  • I am running Appium Desktop version latest master.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Allow Unauthorized Certificates does not work

The problem

Like below ssl error was raised with 1.19.0-beta

webdriver: Request failed due to Error: SSL Error: https://xxxx:yyyy/wd/hub/session does not support SSL

This does not happen HTTP connection. Am taking a look...

This happens only requests via webdriverio in web2driver...?
It seems process.env.STRICT_SSL does not affect web2driver internal.
Probably we want to set STRICT_SSL = 'false' in https://github.com/webdriverio/webdriverio/blob/e34108325ef1e0d2b8e2306fe407b5d934169777/packages/webdriver/src/request.ts#L123-L126

appium inspector with error

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

image

cannot access to my phone .
my setting is :
image

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

There is a typo on the css reference.

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

link here.

      <div id='serverTypeTabs' className={SessionStyles.serverTab}>

It seems there is a typo. it should be named serverTabs.
but when I try to fix it, comes a new problem with Advanced Settings

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Can't launch test session with Kobibton

I have followed this ticket #128, and I see that we have an issue with Kobiton when we have coding changes. I submit a ticket first, then will investigate and fix it.

Appium Desktop

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Invalid or unsupported WebDriver capabilities found ("deviceGroup", "deviceName", "kobiton.source"). Ensure to only use valid W3C WebDriver capabilities (see https://w3c.github.io/webdriver/#capabilities).

Environment

Development

  • I am running Appium Desktop version 2021.8.5. Electron: 13.3.0; Nodejs 14.16.0
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

`executeScript` command doesn't accept a function

Appium Inspector

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

Environment

  • I am running Appium Inspector version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

The problem

The executeScript-command doesn't accept a function, it needs to be a string

Contexts for Hybrid apps are not shown in the inspector

The problem

In the new standalone inspector (nice work by the way) contexts are not shown anymore when you want to inspect a hybrid app.

When I execute the Action Context > Context > Get All Contexts I get this ["NATIVE_APP","WEBVIEW_32521.2","WEBVIEW_32521.3"] but the UI is not showing the dropdown to switch to the contexts anymore

image

The old version does show it

image

Support appium-mac2-driver

So far, appium-mac2-driver capture a screenshot of the entire screen. But the page source is the AUT. Thus, element highlight does not work well at least.

Older versions of Chrome are not W3C compatible

Appium Inspector

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

Environment

  • I am running Appium Inspector version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

The problem

Appium detects which version of of ChromeDriver needs to be used based on the Webview / Chrome browser and that might result in an older version of ChromeDriver which doesn't support W3C commands like the executeScript.
This only happens with Hybrid Android apps or with Chrome

Feature request: Saving snapshot of screen / open it in Inspector

Hello.
What if appium will save Screenshot, Datasource, some data like date, screen size, device model in one archive, and open this archive in Appium Inspector?
It's common situation, that developers change some locator in app and test failed after that. Every time i start test locally to get new locator, but if appium would save snapshot, i save it at the end of failed test, and open it in inspector. It will save time, especially in long scenario

Unable to Launch Application in Physical device.

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Getting below alert while launching application in physical device using Appium Inspector.
Issue - Failed to create session. The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.

Environment

  • I am running Appium Desktop version _<1.22.0>
  • I am on Windows.

PFA Screenshot for your reference.
image

image

Element in screenshot is not highlighted when clicking the element id in search locator modal

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

The exact element in the screenshot shown beside the App Source tab is not highlighted when I click the element id in the search modal.

Set capabilities:
{
"appium:automationName": "UIAutomator2",
"platformName": "Android",
"appium:platformVersion": "11",
"appium:deviceName": "Emulator 11"
}

Kindly see screenshot:
image

Environment

  • I am running Appium Desktop version _2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

bug: saved capabilities set not working (not saving)

Appium or Appium Desktop?

Appium Inspector

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

This is a very annoying one. Open Appium Inspector, create a profile of capabilities and save it under "Saved Capabilities Set 2". Now, I'm facing two types of problems:

1 - When editing the values of a profile, saving, and launching by pressing "Start Session", the values are not saved

problem1

2 - When creating two profiles, the values of the second profile always reverts to the values of the first one, no matter how many times we edit and save it.

The only way around is to erased all profiles and create a new one with the correct values.

Environment

  • I am running Appium Desktop version:

App Version: 2021.8.5
Electron: 13.2.2
Node.js: 14.16.0

  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Latest Dev Build of Master can't send actions

The problem

I'm using the latest master and execute the following steps:

  1. npm i in the root
  2. in a new terminal window cd inspector && npm i && npm run dev
  3. open the Actions-tab, select Device > Execute Mobile and send this command mobile:pressButton and this JSON argument {"name": "home"} it throws and error
    image

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

unable to create session using local appium server

Screenshot 2021-10-28 at 4 54 54 PM

Appium Server:1.22.0
JDK 1.8
Using inspector i'll not able connect server

this are capabilities

capabilities":{"alwaysMatch":{"platformName":"iOS","appium:platformVersion":"15.0","appium:deviceName":"iPhone 8","appium:automationName":"XCUITest","appium:bundleId":"com.apple.Preferences","appium:includeSafariInWebviews":true,"appium:newCommandTimeout":0,"appium:connectHardwareKeyboard":true},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"iOS","appium:platformVersion":"15.0","appium:deviceName":"iPhone 8","appium:automationName":"XCUITest","appium:bundleId":"com.apple.Preferences","appium:includeSafariInWebviews":true,"appium:newCommandTimeout":0,"appium:connectHardwareKeyboard":true}}

Application window cannot be moved

Appium Inspector?

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Inspector issue

The problem

Opening inspector Version: 2021.5.1-beta.5, the window can be resized, but not dragged/moved around the screen.

Environment

  • I am running Appium Inspector version Version: 2021.5.1-beta.5
  • I am on Mac Catalina

Can not move inspector window, if the the inspector window has focus.

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Replace this section with a description of your issue

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • [ x] Mac
    • Windows
    • Linux

I am running beta 5, this is a UI issue with inspector, not related to anything appium.

Launch the Inspector
click in the top area of the window, keep holding the left ouse button down and try to drag the window to a new area.
This fails

Workaround
Click on an open area on the screen, to move focus away from the inspector
Then repeat the above steps,
This works.

Hybrid mode is not working for Android Hybrid apps

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

Environment

  • I am running Appium Desktop version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

The problem

Android hybrid apps can't be inspected because the dropdown is not shown

Root Cause:

This line of code returns the contexts. The problem is that it returns different data for Android as it does for iOS

iOS result

    [
      {
        "id": "NATIVE_APP"
      },
      {
        "id": "WEBVIEW_70122.3",
        "title": "WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO",
        "url": "https://webdriver.io/",
        "bundleId": "org.wdioNativeDemoApp"
      }
    ]

Android result

  [
      {
        "proc": "@webview_devtools_remote_7414",
        "webview": "WEBVIEW_7414",
        "info": {
          "Android-Package": "com.wdiodemoapp",
          "Browser": "Chrome/74.0.3729.185",
          "Protocol-Version": "1.3",
          "User-Agent": "Mozilla/5.0 (Linux; Android 10; Android SDK built for x86 Build/QSR1.200403.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.185 Mobile Safari/537.36",
          "V8-Version": "7.4.288.28",
          "WebKit-Version": "537.36 (@22955682f94ce09336197bfb8dffea991fa32f0d)",
          "webSocketDebuggerUrl": "ws://127.0.0.1:10900/devtools/browser"
        },
        "pages": [
          {
            "description": "{\"attached\":true,\"empty\":false,\"height\":1797,\"screenX\":0,\"screenY\":66,\"visible\":true,\"width\":1080}",
            "devtoolsFrontendUrl": "http://chrome-devtools-frontend.appspot.com/serve_rev/@22955682f94ce09336197bfb8dffea991fa32f0d/inspector.html?ws=127.0.0.1:10900/devtools/page/E33B2001A0DCEE4120A2FA5A62C4A7AE",
            "faviconUrl": "https://webdriver.io/img/logo-webdriver-io.png",
            "id": "E33B2001A0DCEE4120A2FA5A62C4A7AE",
            "title": "WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO",
            "type": "page",
            "url": "https://webdriver.io/",
            "webSocketDebuggerUrl": "ws://127.0.0.1:10900/devtools/page/E33B2001A0DCEE4120A2FA5A62C4A7AE"
          },
          {
            "description": "",
            "devtoolsFrontendUrl": "http://chrome-devtools-frontend.appspot.com/serve_rev/@22955682f94ce09336197bfb8dffea991fa32f0d/worker_app.html?ws=127.0.0.1:10900/devtools/page/00773095664652DE97DD998C41661B9C",
            "id": "00773095664652DE97DD998C41661B9C",
            "title": "Service Worker https://webdriver.io/sw.js?params=%7B%22offlineMode%22%3Afalse%2C%22debug%22%3Afalse%7D",
            "type": "service_worker",
            "url": "https://webdriver.io/sw.js?params=%7B%22offlineMode%22%3Afalse%2C%22debug%22%3Afalse%7D",
            "webSocketDebuggerUrl": "ws://127.0.0.1:10900/devtools/page/00773095664652DE97DD998C41661B9C"
          }
        ],
        "webviewName": "WEBVIEW_com.wdiodemoapp"
      }
    ]

Solution

The result by Android needs to be the same as for iOS. We have a challenge here because Android returns 1 webview with multiple pages which can be:

  • (in)active per page
  • a page can also be a service worker or not something similar to a page
  • switching to a webview doesn't mean that the active page will be selected

iOS returns a webview object PER active/inactive webview

How do I actually use the appium inspector?

How do i use the stand alone appium inspector?

I downloaded v 2019.9.1 and I keep getting the error below. Not sure if this is a dumb question but there was no isntructions to use this app online.

Screen Shot 2021-09-27 at 10 48 50 pm

platformName capability needs to be passed error even though it is being passed connecting to BitBar through Appium inspector

I am unable to launch apk (android) or ipa (iOS) connecting to Bitbar cloud through Appium desktop Appium inspector tool.
It complains that platformName capability needs to be passed, even though I have passed the same.
On checking Appium server logs on bitbar , it somehow gets converted to platform rather than platformName.

Please note, no such issue happens when I run through maven passing the capabilities , apps launch fine.
It seems Appium Desktop ,inspector when passing the desired capabilities has some issues. I can see similar issues raised for this , but I have tried solutions like typing all capabilities from scratch instead of pasting json but they did not work

https://stackoverflow.com/questions/55389453/appium-desktop-keep-on-asking-for-platformname-capability-even-if-it-is-added

Environment

  • I am running Appium Desktop version : 1.20.2, also tried on 1.18 and 1.21
  • I am on :
    • Mac Big Sur

Below is the error

2021-09-02 04:59:45:638 - [debug] [MJSONWP] Encountered internal error running command: Error: You must include a platformName capability

capabilities passed in Appium inspector: (Note: hidden app, bitbar_app values for security purpose, also provided correct api_key when connecting to bitbar cloud through Appium inspector)

{
"platformName": "iOS",
"deviceName": "iPhone device",
"automationName": "XCUITest",
"bitbar_device": "Apple iPhone 11 A2221 13.0",
"bitbar_app": "*******",
"bitbar_target": "ios",
"app": "***********************"
}

prefixed with "appium:" are set repeatedly

Appium or Appium Desktop?

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

prefixed with "appium:" are set repeatedly while I click the startSession button .
It seems that because of this PR.
@jlipps

video.mov

Environment

  • I am running Appium Desktop version .

  • I am on (pick one):

    • Mac
    • Windows
    • Linux
  • branch: main

Issue in Connecting to Perfecto Cloud

Windows inspector throws below error while connecting to Perfecto Cloud.

Not able to add any prefix to "securityToken" capability, because its built in to the inspector.

Can you please do the changes.

Error
Invalid or unsupported WebDriver capabilities found ("securityToken"). Ensure to only use valid W3C WebDriver capabilities (see https://w3c.github.io/webdriver/#capabilities).If you run your tests on a remote vendor, like Sauce Labs or BrowserStack, make sure that you put them into vendor specific capabilities, e.g. "sauce:options" or "browserstack:options". Please reach out to to your vendor support team if you have further question
Screenshot (1)
s.

Should set placeholder values as default values in remote host/port/path

On a MAC. running beta 5.

I have appium running in the terminal.

I have a session running, it is to a real device, from a java project.

I can not attach to this session, the information does not populate, like it does if you use the inspector from the appium-desktop.

if I launch appium-desktop, start the inspector and go to attach to session it works.

Stephen

Fix Hybrid Element positon determination

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

Environment

  • I am running Appium Desktop version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

The problem

HTML elements in an Hybrid app are not positioned properly, this has been fixed in Appium Desktop, see
appium/appium-desktop#1906. This needs to be ported to Appium Inspector

"CouldNotConnect" when I tried to connect the appium server with appium inspector

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • [ v] I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Hello, I tried to change appium inspector to a web based application which doesn't be included in the electron framework. When I tried click "startSession" button in the Chrome, it runs properly until the program tried to connect the appium server with Web2Driver. It got an err "CouldNotConnect".

The appium server showed like this:
[HTTP] --> OPTIONS /wd/hub/session
[HTTP] {}
[HTTP] No route found for /wd/hub/session
[HTTP] <-- OPTIONS /wd/hub/session 404 1 ms - 211
[HTTP]

The console of Chrome showed:
Access to fetch at 'http://127.0.0.1:4723/wd/hub/session' from origin 'http://localhost:3000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the
requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with
CORS disabled.
POST http://127.0.0.1:4723/wd/hub/session net::ERR_FAILED

I'm sure that the same parameters were sent to the Web2Driver.remote(serverOpts, desiredCapabilities) function. While the electron based appium inspector could properly connect with the appium server, the web based appium inspector didn't.
serverOpts:
hostname = 127.0.0.1
port = 4723
protocol = http
path = undefined
connectionRetryCount = 0

desiredCapabilities:
platformName = Android
appium:ensureWebviewsHashPages = true
appium:newCommandTimeout = 0
appium:connectHardwareKeybord = true

The web2driver's version is 2.0.0.

Environment

  • I am running Appium Desktop version <1.21.0>.
  • I am on (pick one):
    • Mac
    • [ v] Windows
    • Linux

Loss of app session when steering with Appium Inspector

The problem

Hello!

Clicking a specific menu entry within the app (“Sub App”), with Appium Inspector, leads to a session loss of the app (user get logged out).
Is this maybe a known issue? Do the attached logs point to any known bugs maybe?

Thank you for any input.

Logfiles:

AppiumLog.txt
Logcat.txt

Environment

  • Appium version (or git revision) that exhibits the issue: 1.20.2; 1.16.0
  • Last Appium version that did not exhibit the issue (if applicable): n/a
  • Desktop OS/version used to run Appium: Windows 10 x64 (10.0.19042)
  • Node.js version (unless using Appium.app|exe): n/a
  • Npm or Yarn package manager: n/a
  • Mobile platform/version under test: Android 11
  • Real device or emulator/simulator: Simulator Pixel 3a XL (API 30_x86) @ Android Studio 4.1.3
  • Appium CLI or Appium.app|exe: Appium CLI

need to update request library

request-promise is built on request which has been defunct for some time. should probably move to Got or something similar. there's a nice migration guide from request to Got that could be useful.

how to add appium-inspector in appium(gui-version)

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

I'm not able to get appium-inspector .dmg to install mac os, not able to use/install appium-inspector in my machine

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • Mac

bug: appium desktop inspector not considering some elements on the left panel in Android

Appium or Appium Desktop?

Appium Desktop v 1.21.0

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Hello. I noticed some inconsistencies with Appium Desktop Inspector on this Android app. First of all, in Android Studio's inspector, the FrameLayout element considers correctly all app content, ignoring status bar and footer:

image

However, moving to Appium's inspector gives me another result. The last elements are not included in the left panel preview, as shown here:

image

The excluded app elements are children of the main FrameLayout, but they are only selected in the left panel preview when we click exactly on them:

image

Environment

  • I am running Appium Desktop version 1.21.0
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

feature request: use monospace font in capability names and values so whitespace is obvious

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

I use a lot of time to get the reason of the error:
image
finally, I find the beginning whitespace!
image

So I advise to auto remove the whitespace from the beginning and end of the string in Capability value

Environment

  • I am running Appium Desktop version 1.22.0.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

I am trying to run the application but I am not able to find the runner file. Could you help me ?

Appium or Appium Desktop?

You are reporting an issue at the Appium Desktop repository. Appium Desktop is a wrapper around Appium. If you are having trouble running tests, it is much more likely that the problem you are encountering is not a problem with Appium Desktop but with Appium. For that reason we require you to have tried your testcase with Appium CLI before reporting issues. Check the checkbox below to confirm that you have proven your issue does not reproduce on Appium itself:

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

Replace this section with a description of your issue

Environment

  • I am running Appium Desktop version .
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

update recorder methods

Just not to forget.

The problem

We should update recorder scripts.
I think it also has outdated package like php (haven't confirmed yet).

FEATURE-REQUEST : copy to clipboard by click on a value

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The feature request

it would be nice if a single click on a value of an element (i.e. ID) does automatically copy it to clipboard.
Currently i have to select it manually and copy it. Sometimes linebreaks are incuded which makes it more "complicated" to use the copied value.

Environment

  • I am running Appium Inspector version<2021.8.5>
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

FEATURE-REQUEST : starting of appium server from inspector

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The feature request :

Would it be possible to add a section where i can add the path to appium and the start params, so that the inspector
can automatically start the server when i create a session?
(also closing the server when stopping the session).

This would raise the useability, because currently i have to start the server manually infront and quitting it afterwards.

Environment

  • I am running Appium Inspector version <2021.8.5>.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

hover box painting and element selection can be improved

Sometimes, depending on the app layout, elements are available in the source hierarchy but not selectable in the screenshot portion. Some other invisible element may be on top of them. We probably need some kind of mechanism that heuristically chooses elements to hover/select, or allows scrollwheel control of all elements lying under the mouse pointer?

Default remote path should be "/wd/hub"

Appium Inspector V2021.9.1

Inspector's default server is appium V1
Therefore, Default remote path should be "/wd/hub"

Works fine with old inspector.
Getting Error:

Error
Failed to create session. The requested resource could not be found, or a request was received using an HTTP method that is >not supported by the mapped resource

After running it also seems that prefix "appium:" is added to each property, added print screen.

Also try changing server IP from 127.0.0.1 to 0.0.0.0. no luck there.

The problem

Server Side Log:

[HTTP] No route found for /session
[HTTP] <-- POST /session 404 1 ms - 211
[HTTP]
[HTTP] --> GET /sessions
[HTTP] {}
[HTTP] No route found for /sessions
[HTTP] <-- GET /sessions 404 2 ms - 211
[HTTP]
[HTTP] --> GET /sessions
[HTTP] {}
[HTTP] No route found for /sessions
[HTTP] <-- GET /sessions 404 1 ms - 211
[HTTP]
[HTTP] --> POST /session
[HTTP] {"capabilities":{"alwaysMatch":{"platformName":"iOS","appium:platformVersion":"14.8","appium:deviceName":"iPhone8","appium:app":"_adHoc.ipa","appium:udid":"2cc4db","appium:automationName":"XCUITest","appium:xcodeOrgId":"<>","appium:xcodeSigningId":"iPhone Developer","appium:showIOSLog":false,"appium:showXcodeLog":false,"appium:updatedWDABundleId":"<>","appium:useNewWDA":false,"appium:wdaStartupRetries":3,"appium:wdaStartupRetryInterval":2000,"appium:maxTypingFrequency":100,"appium:CommandTimeout":0,"appium:newCommandTimeout":"300","appium:noReset":true,"appium:connectHardwareKeyboard":true},"firstMatch":[{}]},"desiredCapabilities":{"platformName":"iOS","appium:platformVersion":"14.8","appium:deviceName":"iPhone8","appium:app":"_adHoc.ipa","appium:udid":"2cc4d","appium:automationName":"XCUITest","appium:xcodeOrgId":"<>",...
[HTTP] No route found for /session
[HTTP] <-- POST /session 404 1 ms - 211
[HTTP]

Desired Capabilities - before run

Desired Capabilities - after run

Replace this section with a description of your issue

Environment

  • I am running Appium Desktop version V2021.9.1.
  • I am on (pick one):
    • [V] Mac
    • Windows
    • Linux

some improvements are appreciated

  • As Desktop is separated into Server and Inspector, start session button is not available on Appium inspector, even in menu. It's not able to start multiple sessions.
  • the menu need update, like About Appium Inspector

image

  • For remote connection, it's great that if capable to save remote address settings into capability set
  • It will be excellent if capability sets and settings can be exported and imported (like import from/export to a json file), so that I do not have to copy and paste for every device once a big change is made in inspector.

Environment

  • I am running Appium Inspector version 2021.9.1.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Check cloud vendor availability

Appium Inspector has a feature to connect to cloud vendor environments. Each vendor contributed to AppiumDesktop to allow AD to attach to their environment.

This repository (appium-inspector) now uses web2driver, which uses webdriverio as its backend, to support W3C spec capabilities for Appium 2.0. Appium 2.0 will drop MJSONWP style, so this change is mandatory as appium inspector.

Then, potentially vendors have an issue in their connectivity. I guess especially vendors modify desiredCapabilities might affect them.

Appium inspector doesn't see running sessions

Appium or Appium Desktop?

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

The problem

I can't attach to a running session in Appium Inspector (1st screen), though I can in Appium Desktop (2nd screen)
image
image

Environment

  • I am running Appium Desktop version Appium-Inspector-mac-2021.8.5.dmg
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Unable to launch windows app

Appium or Appium Desktop?

First time user. Just installed WinAppDriver, latest version of Appium-Desktop + latest version of Appium-Inspector.

  • I have verified that my issue does not occur with Appium and should be investigated as an Appium Desktop issue

I tried to look around how to repro this in appium, but I don't understand how.

The problem

I can't launch a windows app.
image

I tried starting WinApplicationDriver.exe myself, but I constantly get "Bad request".

Environment

  • I am running Appium Desktop version 1.22.
  • I am on (pick one):
    • Mac
    • Windows
    • Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.