MarketSquare / robotframework-angularjs

An AngularJS and Angular extension to Robotframework's SeleniumLibrary
Apache License 2.0
34 stars 20 forks source link

Importing test library "AngularJSLibrary" failed #7

Closed kellyting closed 7 years ago

kellyting commented 8 years ago

Hi, i just get the lastest Version 0.0.4.dev1, but it is show failed when i import it with ride ,

20160825 09:33:33.842 [WARN]: Importing test library "AngularJSLibrary" failed

Traceback (most recent call last): Initializing test library 'AngularJSLibrary' with no arguments failed: RobotNotRunningError: Cannot access execution context Traceback (most recent call last): File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 184, in _get_instance return libcode(_self.positional_args, *_self.named_args) File "C:\Python27\lib\site-packages\AngularJSLibraryinit.py", line 148, in init self._s2l._element_finder = ngElementFinder(ignore_implicit_angular_wait) File "C:\Python27\lib\site-packages\AngularJSLibraryinit.py", line 319, in _s2l return BuiltIn().get_library_instance('Selenium2Library') File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 3040, in get_library_instance return self._namespace.get_library_instance(name) File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 70, in _namespace return self._get_context().namespace File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 65, in _get_context raise RobotNotRunningError('Cannot access execution context') File "C:\Python27\lib\site-packages\robotide\spec\librarymanager.py", line 81, in _fetch_keywords return get_import_result(path, library_args) File "C:\Python27\lib\site-packages\robotide\spec\libraryfetcher.py", line 20, in get_import_result lib = robotapi.TestLibrary(path, args) File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 50, in TestLibrary lib.create_handlers() File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 109, in create_handlers self._create_handlers(self.get_instance()) File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 176, in get_instance self._libinst = self._get_instance(self._libcode) File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 186, in _get_instance self._raise_creating_instance_failed() File "C:\Python27\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 263, in _raise_creating_instance_failed % (self.name, args_text, msg, details))

kellyting commented 8 years ago

@emanlove , have you got the same problem?

emanlove commented 8 years ago

@kellyting, sorry I did not see you initial comment. I do not but I don't usually use RIDE. You might try outside of RIDE. Make sure that the import of the AngularJSLibrary is after the import of the Selenium2Library. If you have a small test case that show this error I could look into it.

Also if you have any feedback on implicit wait for angular functionality I would be interested in how it is working out for you.

Tatung1 commented 8 years ago

Hi, is there any update regarding importing AngularJSLibrary into RIDE? I'm still not able to import the library via RIDE. The installation is successful and Selenium2Library was first installed and loaded into RIDE.

emanlove commented 8 years ago

This issues is related to robotframework/RIDE#1583 and also experienced by the RemoteSwingLibrary. I tried a quick fix, that the same used by the swing library, but with us overriding several parts of the Selenium2Library it did not work and I'll need to look a little deeper.

Note the Library will show in Red and the keyword completion/search functions won't work for the Library but robot scripts will run.

emanlove commented 7 years ago

I am closing this issue as won't fix. The problem lies in with both of RIDE imports libraries without instantiating them and with how the AngularJS Library is designed and implemented. I tried the same solution as the RemoteSwingLibrary but was not able to both get RIDE to accept the library and have the Library work. As the library currently works as is but RIDE simply marks it as "RED" and won't do keyword completion I consider this to be more of a cosmetic and (very important) usability issue.

If someone wants to propose a fix or is really blocked by the issue please reopen this ticket.

vijethayerigeri commented 7 years ago

Hi I was trying to install robotframework-angularjs 0.0.6, though the installation was successful, im not able to access it. Im using eclipse as my IDE

Unable to generate library specification file for library 'AngularJSLibrary' Initializing test library 'AngularJSLibrary' with no arguments failed: RobotNotRunningError: Cannot access execution context Traceback (most recent call last): File "C:\Python27\lib\site-packages\AngularJSLibrary__init.py", line 177, in init__ self._s2l._element_finder = ngElementFinder(self.root_selector, ignore_implicit_angular_wait) File "C:\Python27\lib\site-packages\AngularJSLibrary__init__.py", line 349, in _s2l return BuiltIn().get_library_instance('Selenium2Library') File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 3254, in get_library_instance return self._namespace.get_library_instance(name) File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 71, in _namespace return self._get_context().namespace File "C:\Python27\lib\site-packages\robot\libraries\BuiltIn.py", line 66, in _get_context raise RobotNotRunningError('Cannot access execution context')

Is anyone getting same error? Please do help on workaround for it

ravzarora commented 6 years ago

hi, I am facing same error. Any suggestions, please?