Appium Keyword "Open Application" not taking Gigafox Cloud desired capabilities as parameter

Hi…I am working on Mobile Automation through Robot Framework. For Devices, I am using Gigafox Mobile device lab. I had installed appium library but when i tried to provide parameters in Open Application, it throwing exception.

Could you please help to work with Cloud Mobile lab through Robot Framework. How can we provide user credentials as parameter in Open Application Keyword.

Thanks,

Im not familiar with Gigafox but you need to send additional capabilities in order to authenticate. I would take a look at the documentation here

So it would probably be something like:
Open Application | Remote_url | platform_name/deviceName/Etc | gigafox:apiKey=432hfds3rf83bfdkjs

Hi…I tried by installing AppiumLibrary but when i tried to used Keyword Open Application, it requires: 6-7 parameters. But if we need to work on any cloud Mobile lab, we need to add two more parameters: UserID & Api Key.

So when i provided these two additional parameters, Open Application throwing exception. So i am looking for a way to add these two more parameters to keyword.

Any help for same.

  1. What version of Robotframework-AppiumLibrary are you using? Running ‘pip freeze’ will give you your current version in a list.
  2. Open application takes any number of named arguments:
    image

For example here is a use of open application with many arguments (for saucelabs):

Any more assistance will require some screenshots/example code and your actual error messages.

I am using:
image

But now when i am adding AppiumLibrary to RED.xml, it throwing exception

RED was unable to find classes/modules inside ‘C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\AppiumLibrary_init_.py’ module
Following exception has been thrown:
Traceback (most recent call last):
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\robot_session_server.py”, line 43, in inner
result[‘result’] = func(*args, **kwargs)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\robot_session_server.py”, line 105, in inner
return to_call(*args, **kwargs)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\robot_session_server.py”, line 138, in inner
return to_call(*args, **kwargs)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\robot_session_server.py”, line 78, in inner
return func(*args, **kwargs)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\robot_session_server.py”, line 182, in get_classes_from_module
return red_module_classes.get_classes_from_module(module_location)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\red_module_classes.py”, line 25, in get_classes_from_module
inside_file_names = module_names_collector.try_to_find_names_in_module(module_name, module_location)
File “C:\Users\A1029532\AppData\Local\Temp\RobotTempDir1269721338017206056\red_module_classes.py”, line 238, in try_to_find_names_in_module
module = importlib.import_module(module_name)
File "C:\jython2.7.2\Lib\importlib_init
.py", line 37, in import_module
import(name)
File "C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\AppiumLibrary_init
.py", line 4, in
from AppiumLibrary.keywords import *
File “C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\AppiumLibrary\keywords_init_.py”, line 7, in
from ._applicationmanagement import ApplicationManagementKeywords
File “C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\AppiumLibrary\keywords_applicationmanagement.py”, line 6, in
from appium import webdriver
File "C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\appium\webdriver_init
.py", line 19, in
from .webdriver import WebDriver as Remote
File “C:\Users\A1029532\AppData\Local\Programs\Python\Python36\Lib\site-packages\appium\webdriver\webdriver.py”, line 88
def _make_w3c_caps(caps: Dict) -> Dict[str, List[Dict[str, Any]]]:
^
SyntaxError: mismatched input ‘:’ expecting RPAREN

Not able to proceed further, could you please help.

Im not familiar with RED.xml but could you give the raw .robot file where you are calling ‘Open Application’ ?

1 Like

Thanks, I am able launch app in Mobile Cloud Lab device.

Is there any way to see the execution in cloud device, as of now, execution start and when i switch to device it shows nothing but script passed and report generated.