我正在使用Selenium IDE 1.7.2和Firefox 10.0.2
在我正在编写测试脚本的页面中,有一个带有以下文字xpath值的表格单元格:
.//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div
我有一个名为PDTabDiv的变量,其中包含值:22
Selenium IDE脚本步骤:
storeText | .//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div | MyVar
在编辑模式下执行步骤和按Run后执行步骤时都能正常工作。当我声明它正常工作时,单元格的值存储在MyVar变量中,并且步骤执行时没有错误。
但是,尝试使用变量来驱动xpath的“tab-22-div”部分中的数字的几种技术不会取得同样的成功。
我可以使用这种方法成功生成一个看起来很有效的xpath字符串:
storeExpression | .//*[@id='tab-${PDTabDiv}-div']/table/tbody/tr[2]/td[7]/div | MyXpath
MyXpath变量包含:.// * [/ id ='tab-22-div'] / table / tbody / str [2] /td [7] / div 但是,以下步骤在编辑模式下成功时,在按Run(运行)后执行步骤时报告以下错误:
STEP
storeText | xpath=${MyXpath} | MyVar
ERROR
[error] Element xpath=.//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div not found
Selenese类型命令似乎没有表现出问题,我能够通过Run运行此步骤,它总是将值100放在正确的字段中(在单元格中):
type | xpath=.//*[@id='document.budget.budgetPeriod[0].budgetLineItem[${MyLoopIndex}].budgetPersonnelDetailsList[0].percentEffort'] | 100
也许我没有使用正确的方法。任何帮助将不胜感激。有一点背景,我正在使用DataDriven插件处理针对网站的多条记录,并且定位器行每次迭代都不同。
答案 0 :(得分:0)
在致电waitForElementPresent
之前,您是否使用了storeText
命令?
答案 1 :(得分:0)
可能在运行时,执行命令时不会加载必需元素。这就是你得到这样的错误的原因。
在执行pause
命令之前保留storeText
命令