[prev in list] [next in list] [prev in thread] [next in thread] 

List:       selenium-commits
Subject:    [Selenium-commits] [JIRA] Commented: (SEL-153) function defined in
From:       "Warren Pollans (JIRA)" <jira () public ! thoughtworks ! org>
Date:       2005-09-25 19:16:39
Message-ID: 12928701.1127675799794.JavaMail.jira () atlassian ! public ! thoughtworks ! org
[Download RAW message or body]

    [ http://jira.public.thoughtworks.org/browse/SEL-153?page=comments#action_12319 ] \


Warren Pollans commented on SEL-153:
------------------------------------

If I add the appropriate entries for verifySelectLength to Interpreter.py and \
RPC2.rpy the driven tests succeed.  So, it seems  to get the definition from \
user-extensions.js but doesn't do the "other magic"

[selenium]$ grep verifySelectL */*py
selenium_driver/RPC2.rpy:    def xmlrpc_verifySelectLength(self, field, value):
selenium_driver/RPC2.rpy:        return deferToThread(interpreter.verifySelectLength, \
field, value) [selenium]$ grep verifySelectL *.py
Interpreter.py:    def verifySelectLength(self, field, value):
Interpreter.py:        return self.dispatchCommand("verifySelectLength", field, \
value)


> function defined in user-extensions.js not registered/known in SeleneseRunner
> -----------------------------------------------------------------------------
> 
> Key: SEL-153
> URL: http://jira.public.thoughtworks.org/browse/SEL-153
> Project: Selenium
> Type: Bug
> Components: SeleneseRunner
> Environment: OSX.3.9 and fedora-3 - with installed python and ruby
> firefox and mozilla - current
> selenium from svn - July 13 - 14
> Reporter: Warren Pollans

> 
> 
> I've posted this to the users list, but got no response - I'm using selenium from \
> svn - about two weeks old on both boxes.  Here's the mail I sent to the list.  In \
> short, added function works in TestRunner, not in SeleneseRunner - driven mode \
> tests work without additional function; fail with it - for both ruby and python. \
> This is a followup on my problem with getting SeleneseRunner to recognize a \
> function defined in user-extensions.  I have a simpler test now - which, hopefully, \
> someone else can use to duplicate the problem. 1.  <before> I use the TestSelect \
> test from the dist and run it in TestRunner and through SeleneseRunner using both \
> python and ruby - all three tests succeed 2. <after> Using user-extensions.js, \
> shown below, I modified the tests to use the new 'verifySelectlength' command.  The \
> TestRunner test succeeds and both the python and ruby tests fail - the TestRunner \
> log and the SeleneseRunner error are show below.  The scripts are also listed below \
> - the only difference between the scripts used in the <before> case and those used \
> in the <after> case is the one line calling 'verifySelectLength'. Unless I've done \
> something wrong, which is possible :-), there appears to be a problem with the way \
> SeleneseRunner handles user-extensions.js.  I can't really pursue this much farther \
> because I'm not sure where to start.  If someone could point me in the right \
> direction, I'd be happy to look at this some more. By the way, these results are \
> from my ibook (10.3.9) - they are consistent with my previous whining, which \
> referred to work done on my linux box (fedora-3) ++++++++++++++++++++++++++++++
> [selenium_driver]$ cat user-extensions.js
> alert('start');
> Selenium.prototype.assertSelectLength = function(target, num) {
> var element = this.page().findElement(target);
> Assert.equals(parseInt(num), element.options.length);
> };
> alert('finish');
> +++++++++++++++++++++++++++++
> TestRunner log
> * Executing: |open | ./tests/html/test_select.html | |
> * Executing: |verifySelectLength | theSelect | 7 |
> * Executing: |assertSelected | theSelect | Second Option |
> * Executing: |select | theSelect | index=4 |
> * Executing: |verifySelected | theSelect | Fifth Option |
> * Executing: |select | theSelect | Third Option |
> * Executing: |verifySelected | theSelect | Third Option |
> * Executing: |select | theSelect | label=Fourth Option |
> * Executing: |verifySelected | theSelect | Fourth Option |
> * Executing: |select | theSelect | value=option6 |
> * Executing: |verifySelected | theSelect | Sixth Option |
> * Executing: |select | theSelect | value= |
> * Executing: |verifySelected | theSelect | Empty Value Option |
> * Executing: |select | theSelect | id=o4 |
> * Executing: |verifySelected | theSelect | Fourth Option |
> +++++++++++++++++++++++++++++++++++
> [examples]$ cat testselect.py
> import xmlrpclib
> # Make an object to represent the XML-RPC server.
> server_url = "http://localhost:8080/selenium-driver/RPC2"
> app = xmlrpclib.ServerProxy(server_url)
> # Bump timeout a little higher than the default 5 seconds
> app.setTimeout(35)
> import os
> os.system('sh ./run_firefox.bat')
> print app.open('http://localhost:8080/selenium-driver/tests/html/test_select.html')
> print app.verifySelectLength('theSelect', '7')
> print app.verifySelected('theSelect', 'Second Option')
> print app.select('theSelect','index=4')
> print app.verifySelected('theSelect','Fifth Option')
> print app.select('theSelect','Third Option')
> print app.verifySelected('theSelect','Third Option')
> print app.select('theSelect','label=Fourth Option')
> print app.verifySelected('theSelect','Fourth Option')
> print app.select('theSelect','value=option6')
> print app.verifySelected('theSelect','Sixth Option')
> print app.select('theSelect','value=')
> print app.verifySelected('theSelect','Empty Value Option')
> print app.select('theSelect','id=o4')
> print app.verifySelected('theSelect','Fourth Option')
> print app.testComplete()
> +++++++++++++++++++++++++++++++++++
> [examples]$ cat testselect.rb
> require "xmlrpc/client"
> # Make an object to represent the XML-RPC server.
> server = XMLRPC::Client.new( "localhost", "/selenium-driver/RPC2", 8080)
> # Bump timeout a little higher than the default 5 seconds
> server.call('setTimeout',35)
> system 'sh ./run_firefox.bat'
> puts server.call('open', \
> 'http://localhost:8080/selenium-driver/tests/html/test_select.html') puts \
> server.call('verifySelectLength','theSelect','7') puts \
> server.call('verifySelected','theSelect','Second Option') puts \
> server.call('select','theSelect','index=4') puts \
> server.call('verifySelected','theSelect','Fifth Option') puts \
> server.call('select','theSelect','Third Option') puts \
> server.call('verifySelected','theSelect','Third Option') puts \
> server.call('select','theSelect','label=Fourth Option') puts \
> server.call('verifySelected','theSelect','Fourth Option') puts \
> server.call('select','theSelect','value=option6') puts \
> server.call('verifySelected','theSelect','Sixth Option') puts \
> server.call('select','theSelect','value=') puts \
> server.call('verifySelected','theSelect','Empty Value Option') puts \
> server.call('select','theSelect','id=o4') puts \
> server.call('verifySelected','theSelect','Fourth Option') puts \
> server.call('testComplete') +++++++++++++++++++++++++++++++++++
> [examples]$ python testselect.py
> OK
> Traceback (most recent call last):
> File "testselect.py", line 15, in ?
> print app.verifySelectLength('theSelect', '7')
> File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmlrpclib.py", \
> line 1029, in __call__ return self.__send(self.__name, args)
> File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmlrpclib.py", \
> line 1316, in __request verbose=self.__verbose
> File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmlrpclib.py", \
> line 1080, in request return self._parse_response(h.getfile(), sock)
> File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmlrpclib.py", \
> line 1219, in _parse_response return u.close()
> File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmlrpclib.py", \
> line 742, in close raise Fault(**self._stack[0])
> xmlrpclib.Fault: <Fault 8001: 'function verifySelectLength not found'>
> +++++++++++++++++++++++++++++++++++
> [examples]$ ruby testselect.rb
> OK
> /usr/local/lib/ruby/1.8/xmlrpc/client.rb:541:in `do_rpc': Wrong content-type:  \
> (RuntimeError) <?xml version='1.0'?>
> <methodResponse>
> <fault>
> <value><struct>
> <member>
> <name>faultCode</name>
> <value><int>8001</int></value>
> </member>
> <member>
> <name>faultString</name>
> <value><string>function verifySelectLength not found</string></value>
> </member>
> </struct></value>
> </fault>
> </methodResponse>
> from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:409:in `call2'
> from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:399:in `call'
> from testselect.rb:13

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.public.thoughtworks.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

_______________________________________________
Selenium-commits mailing list
Selenium-commits@lists.public.thoughtworks.org
http://lists.public.thoughtworks.org/mailman/listinfo/selenium-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic