AppiumTestDistribution / appium-device-farm

This is an Appium 2.0 plugin designed to manage and create driver sessions on available devices.
https://devicefarm.org
Other
324 stars 101 forks source link

Device farm not recording videos #1398

Open d4v1dk0n7 opened 1 week ago

d4v1dk0n7 commented 1 week ago

Hi team,

The latest version of device farm is not storing the videos when the capability is added as true:

df:recordVideo = true

  1. Appium version (or git revision) that exhibits the issue: latest
  2. Last Appium version that did not exhibit the issue (if applicable): latest
  3. Node.js version (unless using Appium.app|exe): latest
  4. Npm or Yarn package manager: latest
  5. Mobile platform/version under test: uiautomator2
  6. Real device or emulator/simulator: emulator
  7. Appium CLI or Appium.app|exe: CLI
erdncyz commented 1 week ago

Hi @d4v1dk0n7 Can you give detail. I tried it is working fine. Can you send your capabilities and send full server log please..

d4v1dk0n7 commented 6 days ago

Hi, here you have the capabilities:

        AppiumOptions capabilities = new AppiumOptions();
        Dictionary<string, object> options = new Dictionary<string, object>
        {
            { "automationName", AutomationName.AndroidUIAutomator2 },
            { "app", appPath },
            { "autoGrantPermissions", true },
            { "enforceAppInstall", true },
            { "recreateChromeDriverSessions", true },
            { "newCommandTimeout", Timeouts.NewCommandTimeOut.TotalSeconds },
            { "androidInstallTimeout", Timeouts.AppInstallTimeOut.TotalMilliseconds },
            { "uiautomator2ServerInstallTimeout", Timeouts.AppInstallTimeOut.TotalMilliseconds },

            //Device farm capabilities
            { "df:recordVideo", true }
        };

        capabilities.AddAdditionalAppiumOption("appium:options", options);

And the complete logs:

https://gist.github.com/d4v1dk0n7/8b054f5f846acbd2de4a3121859a3ece

In the logs I can see this, maybe this is the cause of the issue...

2024-09-26 08:34:00:976 - [AndroidUiautomator2Driver@1e7c] The following provided capabilities were not recognized by this driver: 2024-09-26 08:34:00:976 - [AndroidUiautomator2Driver@1e7c] df:recordVideo 2024-09-26 08:34:00:976 - [AndroidUiautomator2Driver@1e7c] chromeDriverPort 2024-09-26 08:34:00:976 - [AndroidUiautomator2Driver@1e7c] adbRemoteHost

Thanks.

erdncyz commented 6 days ago

Hi @d4v1dk0n7,

Can you try it below capabilities ?

`AppiumOptions capabilities = new AppiumOptions();

capabilities.PlatformName = "Android"; capabilities.AddAdditionalAppiumOption("automationName", "UIAutomator2"); capabilities.AddAdditionalAppiumOption("app", appPath); capabilities.AddAdditionalAppiumOption("autoGrantPermissions", true); capabilities.AddAdditionalAppiumOption("enforceAppInstall", true); capabilities.AddAdditionalAppiumOption("recreateChromeDriverSessions", true); capabilities.AddAdditionalAppiumOption("newCommandTimeout", Timeouts.NewCommandTimeOut.TotalSeconds); capabilities.AddAdditionalAppiumOption("androidInstallTimeout", Timeouts.AppInstallTimeOut.TotalMilliseconds); capabilities.AddAdditionalAppiumOption("uiautomator2ServerInstallTimeout", Timeouts.AppInstallTimeOut.TotalMilliseconds); capabilities.AddAdditionalAppiumOption("df:recordVideo", true); `

d4v1dk0n7 commented 6 days ago

Hi @erdncyz,

Same result...

2024-09-26 12:18:26:201 - [AndroidUiautomator2Driver@55a7] The following provided capabilities were not recognized by this driver: 2024-09-26 12:18:26:203 - [AndroidUiautomator2Driver@55a7] df:recordVideo 2024-09-26 12:18:26:204 - [AndroidUiautomator2Driver@55a7] chromeDriverPort 2024-09-26 12:18:26:204 - [AndroidUiautomator2Driver@55a7] adbRemoteHost

erdncyz commented 6 days ago

@d4v1dk0n7 Hi,

My capabilities like :

For ios :

:caps: appium:udid: "Your device uidid" platformName: "ios" bundleId: "you app bundle id" appium:automationName: "XCUITest" appium:autoAcceptAlerts: true :appiumVersion: 2.11.3 appium:noReset: false appium:fullReset: false appium:clearSystemFiles: true appium:newCommandTimeout: 1800 df:liveVideo: true df:recordVideo: true df:saveDeviceLogs: false df:skipReport: false df:build: "" :appium_lib: :server_url: ""

For android :

:caps: appium:udid: "Your device uidid id" appium:deviceName: "Automation2" platformName: "Android" appium:appPackage: "Your package" appium:appActivity: "Your package" appium:noReset: false appium:fullReset: false appium:automationName: "UiAutomator2" appium:newCommandTimeout: 1800 appium:appiumVersion: "2.11.3" df:liveVideo: true df:recordVideo: true df:saveDeviceLogs: false df:skipReport: false df:build: "" :appium_lib: :server_url: ""

ı don't have any error like your error message

d4v1dk0n7 commented 6 days ago

Hi @erdncyz,

Ok.. But I don't see anything wrong in my capabilities... So... What I have to do then?

These are the versions of appium components:

appium server: 2.11.4 uiautomator2 driver: 3.8.0 device farm plugin: 9.2.11

Are you also working with latest versions as me?

erdncyz commented 6 days ago

Hi @d4v1dk0n7,

Yes, I am using the latest version, you can use the appium inspector df:recordVideo: true When you do it, can you create a session and try to see if it records while browsing?

Like these:

image
dudi86 commented 1 day ago

hi, is there a solution for this problem? because I'm experiencing it too.

with the latest version: appium server: 2.11.4 uiautomator2 driver: 3.8.0 xcuitest driver: 7.26.4 device farm plugin: 9.2.11 Node: 22.9.0