Reputation: 89
I'm using Selenium IDE 1.7.2 and Firefox 10.0.2
In the page which I'm writing a test script for, there is a table cell with the following literal xpath value:
.//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div
I have a variable named PDTabDiv which contains the value: 22
The Selenium IDE script step:
storeText | .//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div | MyVar
works correctly both when executing the step in edit mode and when the step is executed after pressing Run. When I state that it works correctly, the cell's value is stored in the MyVar variable and the step executes without error.
However, attempting several techniques to use a variable to drive the number within the 'tab-22-div' portion of the xpath do not result in the same success.
I can successfully produce a valid-looking xpath string using this approach:
storeExpression | .//*[@id='tab-${PDTabDiv}-div']/table/tbody/tr[2]/td[7]/div | MyXpath
The MyXpath variable does contain: .//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div However the following step, while successful in edit mode, reports the following error when the step executes after pressing Run:
STEP
storeText | xpath=${MyXpath} | MyVar
ERROR
[error] Element xpath=.//*[@id='tab-22-div']/table/tbody/tr[2]/td[7]/div not found
The Selenese type command did not seem to exhibit the issue though, I was able to run this step via Run and it always placed the value 100 in the correct field (which is in a cell):
type | xpath=.//*[@id='document.budget.budgetPeriod[0].budgetLineItem[${MyLoopIndex}].budgetPersonnelDetailsList[0].percentEffort'] | 100
Perhaps I'm not using the correct approach. Any assistance would be gratefully appreciated. A little background, I'm using the DataDriven plugin to process several records against a web site, and the locators rows differ each iteration.
Upvotes: 1
Views: 2953
Reputation: 2002
May be while running, required element does not load when your command executes. That's why your are getting such error.
Keep pause
command before execution of storeText
command
Upvotes: 0
Reputation: 342
Did you use the command waitForElementPresent
before calling storeText
?
Upvotes: 0