Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I am attempting to inject Javascript directly into a page in order to set a variable for the page. I am still rather new to the IDE and I have seen the runScript function and I think it does what I need but it's not working at all.

What I have currently:

runScript
javascript{var selectedComponentIDs = [x,y,z];}

selectedComponentIDs is the variable in the source code of the page that I need to change. Thanks for any help offered. I really need to be able to do this with the IDE so 'use the Web Driver' will not be a suitable answer. It must be with the IDE if it's at all possible.

share|improve this question

1 Answer 1

up vote 1 down vote accepted

First: You need to remove the javascript{} part. The runScript option just accepts plain Javascript, no need for the extra syntax.

Here is an example usage of the runScript (as seen in the Selenium IDE source tab):

<tr>
    <td>open</td>
    <td>http://www.google.com</td>
    <td></td>
</tr>
<tr>
    <td>runScript</td>
    <td>document.getElementById('gbqfq').value='test'</td>
    <td></td>
</tr>

Just ran this on my Firefox Selenium IDE and it works, please verify that this indeed works. Its should fill in "test" in the google search box. This should mean you can execute JavaScript from the IDE.

Second: I think you need to be able to access the variable you want to update/set. This can be hard if the IDE cannot acces its scope directly. Maybe you or the developers can add a Global function to the page so you can call it with "functionName();" also see http://stackoverflow.com/questions/9354191/calling-custom-functions-from-firebug-console for more idea's on calling functions from the browser console (or the runScript command, which is comparable)

You should be able to practise/test run the commands from the Firefox console before you add them to your Selenium scripts, since this can be hard to debug from the IDE.

share|improve this answer
    
Thank you, sadly while the method does work, it will not work for what I need due to a lot more processing that is done on the back end. Thanks for the answer, will be useful long term. –  PaulDonny Mar 11 at 18:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.