[Erp5-report] r44856 arnaud.fontaine - /erp5/trunk/utils/erp5.utils.test_browser/src/erp5/u...
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Mar 31 07:16:50 CEST 2011
Author: arnaud.fontaine
Date: Thu Mar 31 07:16:49 2011
New Revision: 44856
URL: http://svn.erp5.org?rev=44856&view=rev
Log:
Raise a LookupError when either a listbox link or control could not be
found within the given cell
Modified:
erp5/trunk/utils/erp5.utils.test_browser/src/erp5/utils/test_browser/browser.py
Modified: erp5/trunk/utils/erp5.utils.test_browser/src/erp5/utils/test_browser/browser.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.utils.test_browser/src/erp5/utils/test_browser/browser.py?rev=44856&r1=44855&r2=44856&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.utils.test_browser/src/erp5/utils/test_browser/browser.py [utf8] (original)
+++ erp5/trunk/utils/erp5.utils.test_browser/src/erp5/utils/test_browser/browser.py [utf8] Thu Mar 31 07:16:49 2011
@@ -337,8 +337,19 @@ class Browser(ExtendedTestBrowser):
column_number,
cell_element_index)
- return self.getContextLink(url=self.etree.xpath(xpath_str).get('href'),
- *args, **kwargs)
+ # xpath() method always return a list even if there is only one element
+ element_list = self.etree.xpath(xpath_str)
+
+ try:
+ link_href = element_list[0].get('href')
+ except (IndexError, AttributeError):
+ link_href = None
+
+ if not link_href:
+ raise LookupError("Could not find link in listbox cell %dx%d (index=%d)" %\
+ (line_number, column_number, cell_element_index))
+
+ return self.getContextLink(url=link_href, *args, **kwargs)
def getListboxPosition(self,
text,
@@ -700,7 +711,18 @@ class ContextMainForm(MainForm):
column_number,
cell_element_index)
- input_element = self.browser.etree.xpath(xpath_str)[0]
+ # xpath() method always return a list even if there is only one element
+ element_list = self.browser.etree.xpath(xpath_str)
+
+ try:
+ input_element = element_list[0]
+ input_name = input_element.get('name')
+ except (IndexError, AttributeError):
+ input_element = input_name = None
+
+ if input_element is None or not input_name:
+ raise LookupError("Could not find control in listbox cell %dx%d (index=%d)" %\
+ (line_number, column_number, cell_element_index))
control = self.getControl(name=input_element.get('name'), *args, **kwargs)
More information about the Erp5-report
mailing list