I converted the the TestRunner tests that were included in the
yesterday's svn version of selenium to run as ruby-driven tests. Too
much free time, I guess :-) They all worked OK after I added about a
dozen or so commands to Interpreter.py and RPC2.rpy. If this is of any
interest, I'd be happy to try to provide a script that will generate
these tests from TestRunner html test files - I did it the hard way by
parsing the log.
At any rate, here's what I had to add:
>>> RPC2.rpy
#
# Added commands
#
def xmlrpc_answerOnNextPrompt(self, value):
return deferToThread(interpreter.answerOnNextPrompt, value)
def xmlrpc_close(self):
return deferToThread(interpreter.close)
def xmlrpc_fireEvent(self, field, value):
return deferToThread(interpreter.fireEvent, field, value)
def xmlrpc_goBack(self):
return deferToThread(interpreter.goBack)
def xmlrpc_goBackAndWait(self):
return deferToThread(interpreter.goBackAndWait)
def xmlrpc_store(self, field, value):
return deferToThread(interpreter.store, field, value)
def xmlrpc_storeAttribute(self, field, value):
return deferToThread(interpreter.storeAttribute, field, value)
def xmlrpc_verifyEditable(self, field):
return deferToThread(interpreter.verifyEditable, field)
def xmlrpc_verifyErrorOnNext(self, text):
return deferToThread(interpreter.verifyErrorOnNext, text)
def xmlrpc_verifyFailureOnNext(self, text):
return deferToThread(interpreter.verifyFailureOnNext, text)
def xmlrpc_verifyNotAttribute(self, type, text):
return deferToThread(interpreter.verifyNotAttribute, type, text)
def xmlrpc_verifyNotEditable(self, field):
return deferToThread(interpreter.verifyNotEditable, field)
def xmlrpc_verifyNotText(self, type, text):
return deferToThread(interpreter.verifyNotText, type, text)
def xmlrpc_verifyNotTitle(self, title):
return deferToThread(interpreter.verifyNotTitle, title)
def xmlrpc_verifyNotValue(self, field, value):
return deferToThread(interpreter.verifyNotValue, field, value)
def xmlrpc_verifyNotVisible(self, field):
return deferToThread(interpreter.verifyNotVisible, field)
def xmlrpc_verifyPrompt(self, value):
return deferToThread(interpreter.verifyPrompt, value)
def xmlrpc_verifyTextNotPresent(self, type, text):
return deferToThread(interpreter.verifyTextNotPresent, type,
text)
def xmlrpc_verifyVisible(self, field):
return deferToThread(interpreter.verifyVisible, field)
def xmlrpc_waitForValue(self, field, value):
return deferToThread(interpreter.waitForValue, field, value)
>>> Interpreter.py
#
# Added commands
#
def answerOnNextPrompt(self, value):
return self.dispatchCommand("answerOnNextPrompt", value)
def close(self):
return self.dispatchCommand("close")
def fireEvent(self, field, value):
return self.dispatchCommand("fireEvent", field, value)
def goBack(self):
return self.dispatchCommand("goBack")
def goBackAndWait(self):
return self.dispatchCommand("goBackAndWait")
def store(self, field, value):
return self.dispatchCommand("store", field, value)
def storeAttribute(self, field, value):
return self.dispatchCommand("storeAttribute", field, value)
def verifyEditable(self, field):
return self.dispatchCommand("verifyEditable", field)
def verifyErrorOnNext(self, text):
return self.dispatchCommand("verifyErrorOnNext", text)
def verifyFailureOnNext(self, text):
return self.dispatchCommand("verifyFailureOnNext", text)
def verifyNotAttribute(self, type, text):
return self.dispatchCommand("verifyNotAttribute", type, text)
def verifyNotEditable(self, field):
return self.dispatchCommand("verifyNotEditable", field)
def verifyNotText(self, type, text):
return self.dispatchCommand("verifyNotText", type, text)
def verifyNotTitle(self, title):
return self.dispatchCommand("verifyNotTitle", title)
def verifyNotValue(self, field, value):
return self.dispatchCommand("verifyNotValue", field, value)
def verifyNotVisible(self, field):
return self.dispatchCommand("verifyNotVisible", field)
def verifyPrompt(self, value):
return self.dispatchCommand("verifyPrompt", value)
def verifyTextNotPresent(self, type, text):
return self.dispatchCommand("verifyTextNotPresent", type, text)
def verifyVisible(self, field):
return self.dispatchCommand("verifyVisible", field)
def waitForValue(self, field, value):
return self.dispatchCommand("waitForValue", field, value)
_______________________________________________
Selenium-devel mailing list
Selenium-devel@lists.public.thoughtworks.org
http://lists.public.thoughtworks.org/mailman/listinfo/selenium-devel