Recherche avancée

Médias (0)

Mot : - Tags -/page unique

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (59)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (14069)

  • Can build & make video call with pjsip and ffmpeg

    10 mai 2023, par QViet

    I try to build PJSIP with ffmpeg with this config :

    


    i Follow those step :

    


      

    • build need lib and place in thirdparty folder name ffmpeg
    • 


    • setup link lib & header already.
    • 


    • run build with "$configure —with-ffmpeg="
    • 


    • config_site.h add :
    • 


    


    

    #define PJMEDIA_HAS_OPENH264_CODEC 1 
#define PJMEDIA_HAS_VIDEO 1 
#define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 1 
#define PJMEDIA_HAS_FFMPEG_VID_CODEC 1 
#define PJMEDIA_HAS_FFMPEG 1 
#define PJMEDIA_HAS_FFMPEG_CODEC_H264 1 
#define PJMEDIA_HAS_LIBAVDEVICE 1 
#define PJMEDIA_HAS_OPENH264_CODEC 1


    


    


    I see have to enable PJMEDIA_HAS_OPENH264_CODEC , if not, can build success but when import will receive this error :

    


    Undefined symbol: _WelsCreateDecoder


    


    cause miss wels package exits in openh264 lib.

    


    The build with success after all with above config but in this :

    


       pj_status_t status = pjsua_vid_enum_codecs(videoCodecInfo, &videoCodecCount);


    


    the codec info just show 1 codec is "H264/97" -> is OpenH264 codec, i can't see ffmpeg here.
When im start call like normal, see log openh264 init call/ open camera .

    


    What i need step to using ffmpeg, i can see any docs about it

    


    can you help me ?

    


    ** this i log call stack :**

    


    2023-04-24 10:17:21.522976+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.523 [SIPSample -[SIPSample startEndpointWithEndpointConfiguration:error:]:272] Creating new PSUASIP Endpoint instance.
10:17:21.525         os_core_unix.c !pjlib 2.13-dev for POSIX initialized
10:17:21.526         sip_endpoint.c  .Creating endpoint instance...
10:17:21.527                  pjlib  .select() I/O Queue created (0x1050a32c8)
10:17:21.527         sip_endpoint.c  .Module "mod-msg-print" registered
10:17:21.527        sip_transport.c  .Transport manager created.
10:17:21.527           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
2023-04-24 10:17:21.528077+0700 PSUAKitSample[83000:15642817] 10:17:21.528         sip_endpoint.c  .Module "mod-pjsua-log" registered

2023-04-24 10:17:21.528204+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.528 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-PSUA-log" registered
2023-04-24 10:17:21.529375+0700 PSUAKitSample[83000:15642817] 10:17:21.529         sip_endpoint.c  .Module "mod-tsx-layer" registered

2023-04-24 10:17:21.529477+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.529 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-tsx-layer" registered
2023-04-24 10:17:21.529491+0700 PSUAKitSample[83000:15642817] 10:17:21.529         sip_endpoint.c  .Module "mod-stateful-util" registered

2023-04-24 10:17:21.529592+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.530 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-stateful-util" registered
2023-04-24 10:17:21.529895+0700 PSUAKitSample[83000:15642817] 10:17:21.529         sip_endpoint.c  .Module "mod-ua" registered

2023-04-24 10:17:21.530024+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.530 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-ua" registered
2023-04-24 10:17:21.530068+0700 PSUAKitSample[83000:15642817] 10:17:21.530         sip_endpoint.c  .Module "mod-100rel" registered

2023-04-24 10:17:21.530181+0700 PSUAKitSample[83000:15642817] 10:17:21.530         sip_endpoint.c  .Module "mod-pjsua" registered

2023-04-24 10:17:21.530217+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.530 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-100rel" registered
2023-04-24 10:17:21.530283+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.530 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-PSUA" registered
2023-04-24 10:17:21.530865+0700 PSUAKitSample[83000:15642817] 10:17:21.530         sip_endpoint.c  .Module "mod-invite" registered

2023-04-24 10:17:21.530970+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.531 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-invite" registered
2023-04-24 10:17:21.677206+0700 PSUAKitSample[83000:15642817] 10:17:21.677        coreaudio_dev.c  .. dev_id 0: iPhone IO device  (in=1, out=1) 8000Hz

2023-04-24 10:17:21.677497+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.677 [SIPSample void logCallBack(int, const char *, int):1034]        coreaudio_dev.c  .. dev_id 0: iPhone IO device  (in=1, out=1) 8000Hz
2023-04-24 10:17:21.677588+0700 PSUAKitSample[83000:15642817] 10:17:21.677        coreaudio_dev.c  ..core audio initialized

2023-04-24 10:17:21.677804+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.678 [SIPSample void logCallBack(int, const char *, int):1034]        coreaudio_dev.c  ..core audio initialized
2023-04-24 10:17:21.678538+0700 PSUAKitSample[83000:15642817] 10:17:21.678                  pjlib  ..select() I/O Queue created (0x1060684a8)

2023-04-24 10:17:21.678743+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.679 [SIPSample void logCallBack(int, const char *, int):1034]                  pjlib  ..select() I/O Queue created (0x1060684a8)
2023-04-24 10:17:21.683380+0700 PSUAKitSample[83000:15642817] 10:17:21.683            pjsua_vid.c  ..Initializing video subsystem..

2023-04-24 10:17:21.683585+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.683 [SIPSample void logCallBack(int, const char *, int):1034]            PSUA_vid.c  ..Initializing video subsystem..
2023-04-24 10:17:21.684058+0700 PSUAKitSample[83000:15642817] 10:17:21.684             vid_conf.c  ...Created video conference bridge with 32 ports

2023-04-24 10:17:21.684260+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.684 [SIPSample void logCallBack(int, const char *, int):1034]             vid_conf.c  ...Created video conference bridge with 32 ports
2023-04-24 10:17:21.684983+0700 PSUAKitSample[83000:15642817] 10:17:21.684           openh264.cpp  ...OpenH264 codec initialized

2023-04-24 10:17:21.685168+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.685 [SIPSample void logCallBack(int, const char *, int):1034]           openh264.cpp  ...OpenH264 codec initialized
2023-04-24 10:17:21.685237+0700 PSUAKitSample[83000:15642817] 10:17:21.685           opengl_dev.c  ...OpenGL device initialized

2023-04-24 10:17:21.685370+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.685 [SIPSample void logCallBack(int, const char *, int):1034]           opengl_dev.c  ...OpenGL device initialized
2023-04-24 10:17:21.715616+0700 PSUAKitSample[83000:15642817] 10:17:21.715           darwin_dev.m  ...Darwin video initialized with 5 devices:

2023-04-24 10:17:21.715796+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ...Darwin video initialized with 5 devices:
2023-04-24 10:17:21.715812+0700 PSUAKitSample[83000:15642817] 10:17:21.715           darwin_dev.m  ... 0: [Renderer] iOS - UIView

2023-04-24 10:17:21.715917+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ... 0: [Renderer] iOS - UIView
2023-04-24 10:17:21.715921+0700 PSUAKitSample[83000:15642817] 10:17:21.715           darwin_dev.m  ... 1: [Capturer] AVF - Front Camera

2023-04-24 10:17:21.716006+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ... 1: [Capturer] AVF - Front Camera
2023-04-24 10:17:21.716033+0700 PSUAKitSample[83000:15642817] 10:17:21.716           darwin_dev.m  ... 2: [Capturer] AVF - Back Camera

2023-04-24 10:17:21.716137+0700 PSUAKitSample[83000:15642817] 10:17:21.716           darwin_dev.m  ... 3: [Capturer] AVF - Back Dual Camera

2023-04-24 10:17:21.716152+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ... 2: [Capturer] AVF - Back Camera
2023-04-24 10:17:21.716218+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ... 3: [Capturer] AVF - Back Dual Camera
2023-04-24 10:17:21.716247+0700 PSUAKitSample[83000:15642817] 10:17:21.716           darwin_dev.m  ... 4: [Capturer] AVF - Back Telephoto Camera

2023-04-24 10:17:21.716375+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.716 [SIPSample void logCallBack(int, const char *, int):1034]           darwin_dev.m  ... 4: [Capturer] AVF - Back Telephoto Camera
2023-04-24 10:17:21.716409+0700 PSUAKitSample[83000:15642817] 10:17:21.716         colorbar_dev.c  ...Colorbar video src initialized with 2 device(s):

2023-04-24 10:17:21.716673+0700 PSUAKitSample[83000:15642817] 10:17:21.716         colorbar_dev.c  ... 0: Colorbar generator

2023-04-24 10:17:21.716764+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.717 [SIPSample void logCallBack(int, const char *, int):1034]         colorbar_dev.c  ...Colorbar video src initialized with 2 device(s):
2023-04-24 10:17:21.716918+0700 PSUAKitSample[83000:15642817] 10:17:21.716         colorbar_dev.c  ... 1: Colorbar-active

2023-04-24 10:17:21.716938+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.717 [SIPSample void logCallBack(int, const char *, int):1034]         colorbar_dev.c  ... 0: Colorbar generator
2023-04-24 10:17:21.717192+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.717 [SIPSample void logCallBack(int, const char *, int):1034]         colorbar_dev.c  ... 1: Colorbar-active
2023-04-24 10:17:21.717528+0700 PSUAKitSample[83000:15642817] 10:17:21.717         sip_endpoint.c  .Module "mod-evsub" registered

2023-04-24 10:17:21.717645+0700 PSUAKitSample[83000:15642975] 💚 DEBUG   10:17:21.718 [SIPSample void logCallBack(int, const char *, int):1034]         sip_endpoint.c  .Module "mod-evsub" registered
2023-04-24 10:17:21.717710+0700 PSUAKitSample[83000:15642817] 10:17:21.717         sip_endpoint.c  .Module "mod-presence" registered


    


  • The screen recorder utility has failed to store the actual screen recording iOS

    31 mai 2023, par manoj

    I am getting the below issue when I run my code to record the screen on failure.

    


    An unknown server-side error occurred while processing the command. Original error : The screen recorder utility has failed to store the actual screen recording at '/var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/202341-30610-87cfav.bsg2u/appium_3f7703.mp4'

    


    Note : This issue is occurring during the tearDown.

    


    the code is showing stop recording is failing and this issue is occurring for only one test class

    


    public static File screenRecording(String prefix) throws IOException {
        File classpathRoot = new File(System.getProperty("user.dir"));
        String screenRec = ((CanRecordScreen) driver).stopRecordingScreen();
        byte[] screenRecord = Base64.decodeBase64(screenRec);
        String destinationPath = classpathRoot.getAbsolutePath() + "/screenRecordings/" + driver.getPlatformName()
                + " Video " + prefix + " " + new Date() + ".mp4";
        Path filePath = Paths.get(destinationPath);
        Files.write(filePath, screenRecord);
        File recordedFile = FileUtils.getFile(String.valueOf(filePath));
        return recordedFile;
    }


    


    The same thing when I run it successfully is passing in other test

    


    This is the thread that I was reffering

    


    Appium stack

    


    [ INFO ] 2023-05-26 13:38:51.636 [TestHelpers.PropertiesHelper.getRestartDeviceProperty(PropertiesHelper.java:181)] - Loading the 'RestartDevice' Property from the 'appiumTests.properties' file
[ INFO ] 2023-05-26 13:38:51.641 [TestFixtures.BaseTestFixture.globalSetup(BaseTestFixture.java:81)] - Building Appium Server...
[ INFO ] 2023-05-26 13:38:51.733 [TestFixtures.BaseTestFixture.globalSetup(BaseTestFixture.java:88)] - Appium server is built.
[ INFO ] 2023-05-26 13:38:51.733 [TestFixtures.BaseTestFixture.globalSetup(BaseTestFixture.java:89)] - Starting appium server...
[Appium] Welcome to Appium v1.22.2
[Appium] Non-default server args:
[Appium]   port: 3022
[Appium]   logFile: /Users/subh/IdeaProjects/tile_mobile_automation/logs/appium.log
[Appium]   loglevel: info
[Appium]   relaxedSecurityEnabled: true
[Appium] Appium REST http interface listener started on 0.0.0.0:3022
[HTTP] --> GET /wd/hub/status
[HTTP] {}
[HTTP] <-- GET /wd/hub/status 200 5 ms - 68
[HTTP] 
[ INFO ] 2023-05-26 13:38:53.069 [TestFixtures.BaseTestFixture.globalSetup(BaseTestFixture.java:91)] - Appium server started.

[ffmpeg] Output #0, mp4, to '/var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/2023426-9341-y22m7g.0jfd/appium_eca508.mp4':
[ffmpeg]   Metadata:
[ffmpeg]     encoder         : Lavf59.27.100
[ffmpeg]   Stream #0:0: Video: h264 (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 720x1280 [SAR 520:633 DAR 195:422], q=2-31, 25 fps, 12800 tbn
[ffmpeg]     Metadata:
[ffmpeg]       encoder         : Lavc59.37.100 libx264
[ffmpeg] 
[ffmpeg]     Side data:
[ffmpeg]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[ffmpeg] 
[XCUITest] Starting screen capture on the device 'xxxxxxxx-xxxxxxxxxxxxxxxx' with command: 'ffmpeg -f mjpeg -i http://127.0.0.1:9100 -vf scale=720:1280 -vcodec h264 -y /var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/2023426-9341-y22m7g.0jfd/appium_eca508.mp4'. Will timeout in 1800000ms
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/start_recording_screen 200 621 ms - 12
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/device/terminate_app
[HTTP] {"bundleId":"com.apple.Preferences"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/device/terminate_app 200 6 ms - 15
[HTTP] 
[ INFO ] 2023-05-26 13:39:15.082 [TestFixtures.BaseTestFixture.setUp(BaseTestFixture.java:200)] - App Version is 2.115.0(7936)
<-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element 200 208 ms - 137
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/CC010000-0000-0000-1709-000000000000/click
[HTTP] {"id":"CC010000-0000-0000-1709-000000000000"}
[W3C (9a4d93a9)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Replacing sessionId 643ECEF8-D0E3-47D0-AE3D-3FC884C69235 with 9a4d93a9-b723-4e2e-abad-db859e5efeed
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/CC010000-0000-0000-1709-000000000000/click 200 805 ms - 65
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context
[HTTP] {}
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context 200 1 ms - 22
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element
[HTTP] {"using":"id","value":"OK"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element 200 309 ms - 137
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/displayed
[HTTP] {}
[W3C (9a4d93a9)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Replacing sessionId 643ECEF8-D0E3-47D0-AE3D-3FC884C69235 with 9a4d93a9-b723-4e2e-abad-db859e5efeed
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/displayed 200 134 ms - 65
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context
[HTTP] {}
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context 200 1 ms - 22
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element
[HTTP] {"using":"id","value":"OK"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element 200 253 ms - 137
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/text
[HTTP] {}
[W3C (9a4d93a9)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Replacing sessionId 643ECEF8-D0E3-47D0-AE3D-3FC884C69235 with 9a4d93a9-b723-4e2e-abad-db859e5efeed
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/text 200 117 ms - 65
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context
[HTTP] {}
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context 200 1 ms - 22
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element
[HTTP] {"using":"id","value":"OK"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element 200 247 ms - 137
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/click
[HTTP] {"id":"39020000-0000-0000-1709-000000000000"}
[W3C (9a4d93a9)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Replacing sessionId 643ECEF8-D0E3-47D0-AE3D-3FC884C69235 with 9a4d93a9-b723-4e2e-abad-db859e5efeed
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/39020000-0000-0000-1709-000000000000/click 200 778 ms - 65
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context
[HTTP] {}
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/context 200 1 ms - 22
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element
[HTTP] {"using":"id","value":"btn_add_tile"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element 200 285 ms - 137
[HTTP] 
[HTTP] --> GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/06010000-0000-0000-1709-000000000000/displayed
[HTTP] {}
[W3C (9a4d93a9)] Driver proxy active, passing request on via HTTP proxy
[WD Proxy] Replacing sessionId 643ECEF8-D0E3-47D0-AE3D-3FC884C69235 with 9a4d93a9-b723-4e2e-abad-db859e5efeed
[HTTP] <-- GET /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/element/06010000-0000-0000-1709-000000000000/displayed 200 133 ms - 65
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/app/reset
[HTTP] {}
[DevCon Factory] Releasing connections for xxxxxxxx-xxxxxxxxxxxxxxxx device on 9100 port number
[DevCon Factory] No cached connections have been found
[DevCon Factory] Releasing connections for xxxxxxxx-xxxxxxxxxxxxxxxx device on any port number
[DevCon Factory] Found cached connections to release: ["00008110-0004150236E8401E:8100"]
[DevCon Factory] Releasing the listener for 'xxxxxxxx-xxxxxxxxxxxxxxxx:8100'
[BaseDriver] The following capabilities are not standard capabilities and should have an extension prefix:
[BaseDriver]   appPushTimeout
[BaseDriver]   app
[BaseDriver]   automationName
[BaseDriver]   deviceName
[BaseDriver]   fullReset
[BaseDriver]   newCommandTimeout
[BaseDriver]   noReset
[BaseDriver]   platformVersion
[BaseDriver]   processArguments
[BaseDriver]   showXcodeLog
[BaseDriver]   udid
[BaseDriver]   xcodeOrgId
[BaseDriver]   xcodeSigningId
[BaseDriver] Session created with session id: 7950b9ef-eac2-4169-a035-2d183deacf68
[XCUITest] Determining device to run tests on: udid: 'xxxxxxxx-xxxxxxxxxxxxxxxx', real device: true
[XCUITest] Normalized platformVersion capability value '16.4.1' to '16.4'
[BaseDriver] Using local app '/Users/subh/IdeaProjects/tile_mobile_automation/apps/tile_appstore_adhoc.ipa'
[BaseDriver] Will reuse previously cached application at '/var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/2023426-9341-af6qqi.jfr2v/tile.app'
[WebDriverAgent] Using WDA path: '/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent'
[WebDriverAgent] Using WDA agent: '/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj'
[XCUITest] Setting up real device
[XCUITest] App installation succeeded after 14402ms
[DevCon Factory] Requesting connection for device xxxxxxxx-xxxxxxxxxxxxxxxx on local port 8100, device port 8100
[DevCon Factory] Successfully requested the connection for xxxxxxxx-xxxxxxxxxxxxxxxx:8100
[WebDriverAgent] Will reuse previously cached WDA instance at 'http://127.0.0.1:8100/' with 'com.facebook.WebDriverAgentRunner'. Set the wdaLocalPort capability to a value different from 8100 if this is an undesired behavior.
[WebDriverAgent] Using provided WebdriverAgent at 'http://127.0.0.1:8100/'
[WD Proxy] Determined the downstream protocol as 'W3C'
[XCUITest] Skipping setting of the initial display orientation. Set the "orientation" capability to either "LANDSCAPE" or "PORTRAIT", if this is an undesired behavior.
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/app/reset 200 18735 ms - 14
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/device/terminate_app
[HTTP] {"bundleId":"com.apple.Preferences"}
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/device/terminate_app 200 1046 ms - 14
INFO: Loading the 'SaveVideoOnSuccess' Property from the 'appiumTests.properties' file
[HTTP] 
[HTTP] --> POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/stop_recording_screen
[HTTP] {}
[DevCon Factory] Releasing connections for xxxxxxxx-xxxxxxxxxxxxxxxx device on 9100 port number
[DevCon Factory] No cached connections have been found
[XCUITest] The screen recorder utility has failed to store the actual screen recording at '/var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/2023426-9341-y22m7g.0jfd/appium_eca508.mp4'
[DevCon Factory] Releasing connections for xxxxxxxx-xxxxxxxxxxxxxxxx device on 9100 port number
[DevCon Factory] No cached connections have been found
[HTTP] <-- POST /wd/hub/session/9a4d93a9-b723-4e2e-abad-db859e5efeed/appium/stop_recording_screen 500 14 ms - 841
[HTTP] 

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: The screen recorder utility has failed to store the actual screen recording at '/var/folders/js/h2_7h9bj1fj8cn19tqcm8hnw0000gn/T/2023426-9341-y22m7g.0jfd/appium_eca508.mp4'
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'localhost', ip: 'fe80:0:0:0:8c8:c2c0:abb2:3b1a%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '11.2', java.version: '11.0.11'
Driver info: io.appium.java_client.ios.IOSDriver
Capabilities {app: /Users/subh/IdeaProjects/ti..., appPushTimeout: 50000, automationName: XCUITest, browserName: , databaseEnabled: false, deviceName: Tile DEV QA?s iPhone, fullReset: true, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: false, newCommandTimeout: 30, noReset: false, platform: MAC, platformName: ios, platformVersion: 16.4.1, processArguments: {arguments: -com.apple.CoreData.Concurr...}, showXcodeLog: true, takesScreenshot: true, udid: xxxxxxxx-xxxxxxxxxxxxxxxx, webStorageEnabled: false, xcodeOrgId: XK64B7G5HB, xcodeSigningId: iPhone Developer}
Session ID: 9a4d93a9-b723-4e2e-abad-db859e5efeed

  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
  at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
  at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
  at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
  at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:250)
  at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
  at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:45)
  at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
  at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)
  at io.appium.java_client.screenrecording.CanRecordScreen.stopRecordingScreen(CanRecordScreen.java:72)
  at TestFixtures.BaseTestFixture.tearDown(BaseTestFixture.java:253)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:135)
  at org.testng.internal.invokers.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:65)
  at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:381)
  at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:319)
  at org.testng.internal.invokers.TestInvoker.runConfigMethods(TestInvoker.java:803)
  at org.testng.internal.invokers.TestInvoker.runAfterConfigurations(TestInvoker.java:772)
  at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:748)
  at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:220)
  at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
  at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:945)
  at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:193)
  at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
  at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
  at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  at org.testng.TestRunner.privateRun(TestRunner.java:808)
  at org.testng.TestRunner.run(TestRunner.java:603)
  at org.testng.SuiteRunner.runTest(SuiteRunner.java:429)
  at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:423)
  at org.testng.SuiteRunner.privateRun(SuiteRunner.java:383)
  at org.testng.SuiteRunner.run(SuiteRunner.java:326)
  at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
  at org.testng.TestNG.runSuitesSequentially(TestNG.java:1249)
  at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
  at org.testng.TestNG.runSuites(TestNG.java:1092)
  at org.testng.TestNG.run(TestNG.java:1060)
  at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
  at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)




    


  • Top 5 Web Analytics Tools for Your Site

    11 août 2023, par Erin — Analytics Tips

    At the start of July 2023, Universal Analytics (UA) users had to say goodbye to their preferred web analytics tool as Google discontinued it. While some find Google Analytics 4 (GA4) can do what they need, many GA4 users are starting to realise GA4 doesn’t meet all the needs UA once fulfilled. Consequently, they are actively seeking another web analytics tool to complement GA4 and address those unmet requirements effectively.

    In this article, we’ll break down five of the top web analytics tools on the market. You’ll find details about their core capabilities, pricing structures and some noteworthy pros and cons to help you decide which tool is the right fit for you. We’ve also included some key features a good web analytics tool should have to give you a baseline for comparison.

    Whether you’re a marketing manager focused on ROI of campaigns, a web analyst focused on conversions or simply interested in learning more about web analytics, there’s something for you on this list.

    What is a web analytics tool ?

    Web analytics tools collect and analyse information about your website’s visitors, their behaviour and the technical performance of your site. A web analytics tool compiles, measures and analyses website data to give you the information you need to improve site performance, boost conversions and increase your ROI.

    What makes a web analytics tool good ?

    Before we get into tool specifics, let’s go over some of the core features you can expect from a web analytics tool.

    For a web analytics tool to be worth your time (and money), it needs to cover the basics. For example :

    • Visitor reports : The number of visitors, whether they were unique or repeat visitors, the source of traffic (where they found your website), device information (if they’re using a desktop or mobile device) and demographic information like geographic location
    • Behaviour reports : What your visitors did while on your site, conversion rates (e.g., if they signed up for or purchased something), the pages they entered and exited from, average session duration, total time spent on a page and bounce rates (if they left without interacting with anything)
    • Technical information : Page loading speed and event tracking — where users are clicking, what they’re downloading or sharing from your site, if they’re engaging with the media on it and how far down the page they’re scrolling
    • Marketing campaign information : Breakdowns of ad campaigns by provider, showing if ads resulted in traffic to your site and lead to an eventual sale or conversion
    • Search Engine Optimisation (SEO) information : Which keywords on which pages are driving traffic to your site, and what search engines are they coming from
    • Real-time data tracking : Visitor, behaviour and technical information available in real-time, or close to it — allowing you to address to issues as they occur
    • Data visualisation : Charts and graphs illustrating the above information in an easily-readable format — helping identify opportunities and providing valuable insights you can leverage to improve site performance, conversion rates and the amount of time visitors spend on a page
    • Custom reporting : Create custom reports detailing the desired metrics and time frame you’re interested in
    • Security : User access controls and management tools to limit who can see and interact with user data
    • Resources : Official user guides, technical documentation, troubleshooting materials, customer support and community forums
    Google Analytics 4 dashboard

    Pros and Cons of Google Analytics 4

    Despite many users’ dissatisfaction, GA4 isn’t going away anytime soon. It’s still a powerful tool with all the standard features you’d expect. It’s the most popular choice for web analytics for a few other reasons, too, including :

    • It’s free to use
    • It’s easy to set up
    • It has a convenient mobile app
    • It has a wealth of user documentation and technical resources online
    • Its machine-learning capabilities help predict user behaviour and offer insights on how to grow your site
    • It integrates easily with other Google tools, like Google Search Console, Google Ads and Google Cloud

    That said, it comes with some serious drawbacks. Many users accustomed to UA have reported being unhappy with the differences between it and GA4. Their reasons range from changes to the user interface and bounce rate calculations, as well as Google’s switch from pageview-focused metrics to event-based ones. 

    Let’s take a look at some of the other cons :

    Now that you know GA4’s strengths and weaknesses, it’s time to explore other tools that can help fill in GA4’s gaps.

    Top 5 web analytics tools (that aren’t Google)

    Below is a list of popular web analytics tools that, unless otherwise stated, have all the features a good tool should have.

    Adobe Analytics

    Screenshot of the landing page for Adobe's web analytics tool

    Adobe is a trusted name in software, with tools that have shaped the technological landscape for decades, like Photoshop and Illustrator. With web design and UX tools Dreamweaver and XD, it makes sense that they’d offer a web analytics platform as well.

    Adobe Analytics provides not just web analytics but marketing analytics that tell you about customer acquisition and retention, ROI and ad campaign performance metrics. Its machine learning (ML) and AI-powered analytics predict future customer behaviour based on previously collected data.

    Key features : 

    • Multichannel data collection that covers computers, mobile devices and IoT devices
    • Adobe Sensei (AI/ML) for marketing attribution and anomaly detection
    • Tag management through Adobe Experience Platform Launch simplifies the tag creation and maintenance process to help you track how users interact with your site

    Pros :

    • User-friendly and simple to learn with a drag-and-drop interface
    • When integrated with other Adobe software, it becomes a powerful solution for enterprises
    • Saves your team a lot of time with the recommendations and insights automatically generated by Adobe’s AI/ML

    Cons :

    • No free version
    • Adobe Sensei and tag manager limited to premium version
    • Expensive, especially when combined with the company’s other software
    • Steep learning curve for both setup and use

    Mobile app : Yes

    Integrations : Integrates with Adobe Experience Manager Sites, the company’s CMS. Adobe Target, a CRO tool and part of the Adobe Marketing Cloud subscription, integrates with Analytics.

    Pricing : Available upon request

    Matomo

    Screenshot of Matomo Web Analytics Dashboard

    Matomo is the leading open-source web analytics solution designed to help you make more informed decisions and enhance your customer experience while ensuring GDPR compliance and user privacy. With Matomo Cloud, your data is stored in Europe, while Matomo On-Premise allows you to host your data on your own servers.

    Matomo is used on over 1 million websites, in over 190 countries, and in over 50 languages. Additionally, Matomo is an all-in-one solution, with traditional web analytics (visits, acquisition, etc.) alongside behavioural analytics (heatmaps, session recordings and more), plus a tag manager. No more inefficiently jumping back and forth between tabs in a huge tech stack. It’s all in Matomo, for one consistent, seamless and efficient experience. 

    Key features : 

    • Heatmaps and session recording to display what users are clicking on and how individual users interacted with your site 
    • A/B testing to compare different versions of the same content and see which gets better results
    • Robust API that lets you get insights by connecting your data to other platforms, like data visualisation or business intelligence tools

    Pros : 

    • Open-source, reviewed by experts to ensure that it’s secure
    • Offers On-Premise or Cloud-hosted options
    • Fully compliant with GDPR, so you can be data-driven without worrying. 
    • Option to run without cookies, meaning in most countries you can use Matomo without annoying cookie consent banners and while getting more accurate data
    • You retain complete ownership of your data, with no third parties using it for advertising or unspecified “own purposes”

    Cons : 

    • On-Premise is free, but that means an additional cost for advanced features (A/B testing, heatmaps, etc.) that are included by default on Matomo Cloud
    • Matomo On-Premise requires servers and technical expertise to setup and manage

    Mobile app : Matomo offers a free mobile app (iOS and Android) so you can access your analytics on the go. 

    Integrations : Matomo integrates easily with many other tools and platforms, including WordPress, Looker Studio, Magento, Jira, Drupal, Joomla and Cloudflare.

    Pricing : 

    • Varies based on monthly hits
    • Matomo On-Premise : free
    • Matomo Cloud : starting at €19/month

    Mixpanel

    Screenshot of Mixpanel's product page

    Mixpanel’s features are heavily geared toward e-commerce companies. From the moment a visitor lands on your website to the moment they enter their payment details and complete a transaction, Mixpanel tracks these events.

    Similar to GA4, Mixpanel is an event-focused analytics platform. While you can still track pageviews with Mixpanel, its main focus is on the specific actions users take that lead them to purchases. Putting your attention on this information allows you to find out which events on your site are going through the sales funnel.

    They’re currently developing a Warehouse Events feature to simplify the process of importing data lakes and data warehouses.

    Key features :

    • Custom alerts and anomaly detection
    • Boards, which allow you to share multiple reports and insights with your team in a range of visual styles 
    • Detailed segmentation reporting that lets you break down your data to the individual user, specific event or geographic level

    Pros :

    • Boards allow for emojis, gifs, images and videos to make collaboration fun
    • Powerful mobile analytics for iOS and Android apps
    • Free promotional credits for eligible startups 

    Cons :

    • Limited features in free plan
    • Best features limited to the Enterprise-tier subscription
    • Complicated set up
    • Steep learning curve

    Mobile app : No

    Integrations : Mixpanel has a load of integrations, including Figma, Google Cloud, Slack, HappyFox, Snowflake, Microsoft Azure, Optimizely, Mailchimp and Tenjin. They also have a WordPress plugin.

    Pricing : 

    • Starter : free plan available
    • Growth : $20/month
    • Enterprise $833/month

    HubSpot Marketing

    Screenshot of Hubspot Marketing's main page

    HubSpot is a customer relationship management (CRM) platform with marketing, sales, customer service, content management system (CMS) and operations tools. This greater ecosystem of HubSpot software allows you to practically run your entire business in one place.

    Even though HubSpot Marketing isn’t a dedicated web analytics tool, it provides comparable standard metrics as the other tools on this list, albeit without the more advanced analytical metrics they offer. If you’re already using HubSpot to host your website, it’s definitely worth consideration.

    Key features :

    • Customer Journey Analytics presents the steps your customers went through in the sales process, step-by-step, in a visual way
    • Dashboards for your reports, including both fully customisable options for power users and pre-made templates for new users

    Pros :

    • Integration with other HubSpot tools, like HubSpot CRM’s free live chat widget 
    • User-friendly interface with many features being drag-and-drop, like the report dashboard
    • 24/7 customer support

    Cons :

    • Can get expensive with upgrades and other HubSpot tool add ons
    • Not a dedicated web analytics tool, so it’s missing some of the features other tools have, like heatmaps
    • Not really worth it as a standalone tool
    • Some users report customer support is unhelpful

    Mobile app : Yes

    Integrations : The larger HubSpot CRM platform can connect with nearly 1,500 other apps through the HubSpot App Marketplace. These include Slack, Microsoft Teams, Salesforce, Make, WordPress, SurveyMonkey, Shopify, monday.com, Stripe, WooCommerce and hundreds of others.

    Pricing : 

    • Starter : $20/month ($18/month with annual plan) 
    • Professional : $890/month ($800/month with annual plan) 
    • Enterprise : $3,600/month ($43,200 billed annually)

    Kissmetrics

    Screenshot of the landing page of web analytics tool Kissmetrics

    Kissmetrics is a web analytics tool that is marketed toward SaaS and ecommerce companies. They label themselves as “person-based” because they combine event-based tracking with detailed user profiles of the visitors to your site, which allows you to gain insights into customer behaviour. 

    With user profiles, you can drill down to see how many times someone has visited your site, if they’ve purchased from you and the steps they took before completing a sale. This allows you to cater more to these users and drive growth.

    Key features : 

    • Person Profiles that give granular information about individual users and their activities on your site
    • Campaigns, an engagement messenger application, allows you to set up email automations that are triggered by specific events
    • Detailed reporting tools 

    Pros : 

    • No third-party cookies
    • No data sampling
    • APIs for Ruby on Rails, JavaScript, Python and PHP

    Cons : 

    • Difficult installation
    • Strongest reporting features only available in the most expensive plan
    • Reports can be slow to generate
    • Requires custom JavaScript code to tack single-page applications
    • Doesn’t track demographic data, bounce rate, exits, session length or time on page

    Mobile app : No

    Integrations : Kissmetrics integrates with HubSpot, Appcues, Slack, Mailchimp, Shopify, WooCommerce, Recurly and a dozen others. There is also a Kissmetrics WordPress plugin.

    Pricing : 

    • Silver : $299/month (small businesses)
    • Gold : $499/month (medium) 
    • Platinum : custom pricing (enterprises)

    Conclusion

    In this article, you learned about popular tools for web analytics to better inform you of your options. Despite all of GA4’s shortcomings, by complementing it with another web analytics tool, teams can gain a more comprehensive understanding of their website traffic and enhance their overall analytics capabilities.

    If you want an option that delivers powerful insights while keeping privacy, security and compliance at the forefront, you should try Matomo. 

    Try Matomo alongside Google Analytics now to see how it compares.

    Start your 21-day free trial now – no credit card required.