Failed to establish a new connection with UFT Mobile Server using Appium and python

 

I use python and appium to connect UFTM server, a error pop up with the message 

urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x000001A5AED2C648>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

When I use appium inspector to connect the device, it succeed. But using python and appium to connect it, it always failed to connect.

Followings are wo code, which parts I missed?

from appium import webdriver

desired_caps = {
'platformName': 'Android',
'platformVersion': '10',
'deviceName': 'Galaxy S10',
'appPackage': 'com.foreverht.workplus.hcbmpre',
'appActivity': 'com.foreveross.atwork.modules.main.activity.SplashActivity',
'unicodeKeyboard': True,
'resetKeyboard': True,
'noReset': True,
'newCommandTimeout': 6000,
'automationName': 'UiAutomator2',
'oauthClientId': 'oauth2-xxxxxx@microfocus.com',
'oauthClientSecret': 'xxxxxxxx',
'tenantId': '999999999'
}

driver = webdriver.Remote(r'https://xxxx:443/wd/hub', desired_caps)
# xxxx:443 is the UFT Mobile Server URL

print('create driver session successfully')

driver.quit()
Parents
  • 0  

    Hi there,
    Your UFTM server seems to be configured with SSL (HTTPS). Assuming that you're using a self-signed certificate, you should add strict_ssl=False when instantiating the webdriver. Check https://pypi.org/project/Appium-Python-Client/

    Now, for the UFTM-specific capabilities, you may require using the "uftm:" prefix on recent UFTM versions. For more info: https://admhelp.microfocus.com/uftmobile/en/2021-2021_R2/Content/Appium/Appium_Capabilities.htm

    For example:

    from appium import webdriver
    
    desired_caps = {
        'platformName': 'Android',
        'platformVersion': '10',
        'deviceName': 'Galaxy S10',
        'appPackage': 'com.foreverht.workplus.hcbmpre',
        'appActivity': 'com.foreveross.atwork.modules.main.activity.SplashActivity',
        'unicodeKeyboard': True,
        'resetKeyboard': True,
        'noReset': True,
        'newCommandTimeout': 6000,
        'automationName': 'UiAutomator2',
        'uftm:oauthClientId': 'oauth2-xxxxxx@microfocus.com',
        'uftm:oauthClientSecret': 'xxxxxxxx',
        'uftm:tenantId': '999999999'
    }
    
    driver = webdriver.Remote(r'https://xxxx:443/wd/hub', desired_caps, strict_ssl=False)
    # xxxx:443 is the UFT Mobile Server URL
    
    print('create driver session successfully')
    
    driver.quit()

    I tried this with the demo app and it worked for me. If it still fails for you, what is the Appium-Python-Client version that you're using (pip list)?
    Cheers,
    Alvaro

  • 0   in reply to Alvaro777

    Hi Alvaro,it still doesn't work for me, the appium-python-client version is 2.6.0 and my python version is 3.7. I tried python 3.9 but it also failed.

Reply Children