how to automate autocomplete tags in selenium ide? - selenium-ide

<tr>
<td>clickAt</td>
<td>css=ul.token-input-list-facebook</td>
<td></td>
</tr>
<tr>
<td>setCursorPosition</td>
<td>id=token-input-SongTags</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=token-input-SongTags</td>
<td>n</td>
</tr>
<tr>
<td>setCursorPosition</td>
<td>id=token-input-SongTags</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=token-input-SongTags</td>
<td></td>
</tr>
I tried out the above steps to automate autocomplete tags, but this is not working,
Can anyone help me out here?

<tr>
<td>clickAt</td>
<td>css=(first click)</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=(second click)</td>
<td>${tagname}</td>
</tr>
<tr>
<td>typeKeys</td>
<td>id=(second click)</td>
<td>${tagname}</td>
</tr>
<tr>
<td>pause</td>
<td>3000</td>
<td></td>
</tr>
<tr>
<td>focus</td>
<td>id=(second click)</td>
<td></td>
</tr>
<tr>
<td>keyDown</td>
<td>id=(second click)</td>
<td>\40</td>
</tr>
<tr>
<td>keyDown</td>
<td>id=(second click)</td>
<td>\40</td>
</tr>
<tr>
<td>keyDown</td>
<td>id=(second click)</td>
<td>\13</td>
</tr>

Related

itextpdf 5.5 and xmlworker 5.5 jar giving Runtimeworker exception in Java

I am getting the error below for itextpdf 5.5 jar in Chrome Version 79.0.3945.88 (Official Build) (64-bit) and IE browser.
html content that gives this error.
Caused by: com.itextpdf.tool.xml.exceptions.RuntimeWorkerException: Invalid nested tag span</td found, expected closing tag span.
at com.itextpdf.tool.xml.XMLWorker.endElement(XMLWorker.java:135)
at com.itextpdf.tool.xml.parser.XMLParser.endElement(XMLParser.java:396)
at com.itextpdf.tool.xml.parser.XMLParser.parse(XMLParser.java:175)
at com.app.bean.Main.createPDF(Main.java:1113)
... 36 more
html content:
<table ">
<tr>
<th style="font-weight:bold">Sl.No.</th>
..
</tr>
<tr>
..
<td width="65%" align="left">
<table border="0" cellspacing="0" cellpadding="3" align="left" style="border-collapse:collapse;" width="100%">
<tr>
..
<td width="65%" align="left">
<table border="0" cellspacing="0" cellpadding="3" align="left" style="border-collapse:collapse;" width="100%">
<tr>
<td align="left"><b>Missing in Comparison File : </b><span style="background-color:LIGHTCOROL;">IT1**1*EA*297**VC*5315114*N4*49502010102</span></td>
</tr>
<tr>
<td align="left"><b>Base File: </b>CTT*<span style="background-color:yellow;">2</span>*<span style="background-color:yellow;">1</span><br><br/><b>Comparison File: </b>CTT*<span style="background-color:yellow;">1</span>*<span style="background-color:yellow;">3</span><span style="background-color:yellow;">123</span</td>
</tr>
<tr>
<td align="left"><b>Base File: </b>SE*<span style="background-color:yellow;">9</span>*618600001<br><br/><b>Comparison File: </b>SE*<span style="background-color:yellow;">8</span>*618600000</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="65%" align="left">
<table border="0" cellspacing="0" cellpadding="3" align="left" style="border-collapse:collapse;" width="100%">
<tr>
</tr>
..
</table>
</td>
</tr>
</table>
In this line
<td align="left"><b>Base File: </b>CTT*[...]<span style="background-color:yellow;">123</span</td>
^^^^^^
you see that the last closing span is missing its final >.

Perl XML::LibXML XPath 2.0 to XPath 1.0

I have the following XPath that works fine in XPath 2.0 (as tested in OxygenXML):
//h2[a[#id='start']]/following-sibling::*[not(preceding-sibling::*[self::div[#id='end']])]
but I'm getting different results when I use it with LibXML findnodes():
my #nodes = $source_doc->findnodes('//h2[a[#id="start"]]/following-sibling::*[not(preceding-sibling::*[self::div[#id="end"]])]');
After checking the LibXML documentation, it seems that LibXML supports XPath 1.0 only. How would I go about changing my XPath to something that works with XPath 1.0? Is it even possible to create a compatible path like this in XPath 1.0?
Since I've been asked to provide, I'm updating the post to include my sample data and the output I'm getting when I run the XPath I entered above:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="insn.css" />
<meta name="generator" content="encodingindex.xsl" />
<title>Index by Encoding</title>
</head>
<body><hr /><h1 class="topleveltable"><a name="top" id="top"></a>Top-level encodings</h1><div
class="regdiagram-32"></div><hr /><h2><a name="dp" id="start"></a>Data-processing and
miscellaneous instructions</h2><div class="decode_navigation">
<p>These instructions are under the top-level.</p>
</div><div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td colspan="2" class="lr">00</td>
<td class="lr">op0</td>
<td colspan="5" class="lr">op1</td>
<td colspan="12" class="lr"></td>
<td class="lr">op2</td>
<td colspan="2" class="lr">op3</td>
<td class="lr">op4</td>
<td colspan="4" class="lr"></td>
</tr>
</tbody>
</table>
</div><div class="instructiontable">
<table class="instructiontable">
<tr>
<th colspan="5">Decode fields</th>
<th rowspan="2"> Instruction details </th>
</tr>
<tr>
<th class="bitfields">op0</th>
<th class="bitfields">op1</th>
<th class="bitfields">op2</th>
<th class="bitfields">op3</th>
<th class="bitfields">op4</th>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 0 </td>
<td class="bitfield"> </td>
<td class="bitfield"> 1 </td>
<td class="bitfield"> != 00 </td>
<td class="bitfield"> 1 </td>
<td class="iformname">Extra load/store</td>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 0 </td>
<td class="bitfield"> 0xxxx </td>
<td class="bitfield"> 1 </td>
<td class="bitfield"> 00 </td>
<td class="bitfield"> 1 </td>
<td class="iformname">Multiply and Accumulate</td>
</tr>
</table>
</div><hr /><h2><a name="sync" id="sync"></a>Synchronization primitives and
Load-Acquire/Store-Release</h2><div class="decode_navigation">
<p>These instructions are under <a href="#dp">Data-processing and miscellaneous
instructions</a>.</p>
</div><div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td colspan="4" class="lr">0001</td>
<td class="lr">op0</td>
<td colspan="11" class="lr"></td>
<td colspan="2" class="lr">11</td>
<td colspan="2" class="lr"></td>
<td colspan="4" class="lr">1001</td>
<td colspan="4" class="lr"></td>
</tr>
</tbody>
</table>
</div><hr /><hr /><h2><a name="dpmisc" id="dpmisc"></a>Miscellaneous</h2><div
class="decode_navigation">
<p>These instructions are under <a href="#dp">Data-processing and miscellaneous
instructions</a>.</p>
</div><div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>30</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td colspan="5" class="lr">00010</td>
<td colspan="2" class="lr">op0</td>
<td colspan="1" class="lr">0</td>
<td colspan="12" class="lr"></td>
<td colspan="1" class="lr">0</td>
<td colspan="3" class="lr">op1</td>
<td colspan="4" class="lr"></td>
</tr>
</tbody>
</table>
</div><div class="instructiontable">
<table class="instructiontable">
<tr>
<th colspan="2">Decode fields</th>
<th rowspan="2"> Instruction details </th>
</tr>
<tr>
<th class="bitfields">op0</th>
<th class="bitfields">op1</th>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 01 </td>
<td class="bitfield"> 010 </td>
<td class="iformname">BXJ</td>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 01 </td>
<td class="bitfield"> 011 </td>
<td class="iformname">BLX (register)</td>
</tr>
</table>
</div><div class="decode_navigation">
<p>These instructions are under <a href="#dp">Data-processing and miscellaneous
instructions</a>.</p>
</div><div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>30</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td colspan="3" class="lr">000</td>
<td colspan="2" class="lr">op0</td>
<td colspan="2" class="lr"></td>
<td class="lr">op1</td>
<td colspan="15" class="lr"></td>
<td colspan="1" class="lr">0</td>
<td colspan="4" class="lr"></td>
</tr>
</tbody>
</table>
</div><div class="decode_constraints">
<p> The following constraints also apply to this encoding: op0:op1 != 100 </p>
</div><div class="instructiontable">
<table class="instructiontable">
<tr>
<th colspan="2">Decode fields</th>
<th rowspan="2"> Instruction details </th>
</tr>
<tr>
<th class="bitfields">op0</th>
<th class="bitfields">op1</th>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 0x </td>
<td class="bitfield"> </td>
<td class="iformname"><a href="#intdp3reg_immsh">Integer Data Processing (three register,
immediate shift)</a></td>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 10 </td>
<td class="bitfield"> 1 </td>
<td class="iformname"><a href="#intdp2reg_immsh">Integer Test and Compare (two register,
immediate shift)</a></td>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 11 </td>
<td class="bitfield"> </td>
<td class="iformname"><a href="#logic3reg_immsh">Logical Arithmetic (three register,
immediate shift)</a></td>
</tr>
</table>
</div><hr /><div class="iclass" id="intdp3reg_immsh">
<a name="intdp3reg_immsh" id="intdp3reg_immsh"></a>
<h3 class="iclass">Integer Data Processing (three register, immediate shift)</h3>
<p>These instructions are under <a href="#dpregis">Data-processing register (immediate
shift)</a>.</p>
<div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td class="l">0</td>
<td>0</td>
<td>0</td>
<td class="r">0</td>
<td colspan="3" class="lr">opc</td>
<td class="lr">S</td>
<td colspan="4" class="lr">Rn</td>
<td colspan="4" class="lr">Rd</td>
<td colspan="5" class="lr">imm5</td>
<td colspan="2" class="lr">type</td>
<td class="lr">0</td>
<td colspan="4" class="lr">Rm</td>
</tr>
<tr class="secondrow">
<td colspan="4" class="droppedname">cond</td>
<td colspan="4"></td>
<td colspan="3"></td>
<td></td>
<td colspan="4"></td>
<td colspan="4"></td>
<td colspan="5"></td>
<td colspan="2"></td>
<td></td>
<td colspan="4"></td>
</tr>
</tbody>
</table>
</div>
<div class="decode_constraints">
<p> The following constraints also apply to this encoding: cond != 1111 && cond !=
1111 </p>
</div>
<div class="instructiontable">
<table class="instructiontable" id="intdp3reg_immsh">
<thead class="instructiontable">
<tr>
<th class="bitfields-heading" rowspan="" colspan="3">Decode fields</th>
<th class="iformname" rowspan="2" colspan=""> Instruction Details </th>
</tr>
<tr>
<th class="bitfields" rowspan="" colspan="">opc</th>
<th class="bitfields" rowspan="" colspan="">S</th>
<th class="bitfields" rowspan="" colspan="">Rn</th>
</tr>
</thead>
<tbody>
<tr>
<td class="bitfield">000</td>
<td class="bitfield"></td>
<td class="bitfield"></td>
<td class="iformname"><a name="AND_r" href="and_r.html" id="AND_r">AND, ANDS
(register)</a></td>
</tr>
<tr>
<td class="bitfield">001</td>
<td class="bitfield"></td>
<td class="bitfield"></td>
<td class="iformname"><a name="EOR_r" href="eor_r.html" id="EOR_r">EOR, EORS
(register)</a></td>
</tr>
</tbody>
</table>
</div>
</div><div class="decode_constraints">
<p> The following constraints also apply to this encoding: op0:op1 != 100 </p>
</div><div class="instructiontable">
<table class="instructiontable">
<tr>
<th colspan="2">Decode fields</th>
<th rowspan="2"> Instruction details </th>
</tr>
<tr>
<th class="bitfields">op0</th>
<th class="bitfields">op1</th>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 0x </td>
<td class="bitfield"> </td>
<td class="iformname"><a href="#intdp3reg_regsh">Integer Data Processing (three register,
register shift)</a></td>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 10 </td>
<td class="bitfield"> 1 </td>
<td class="iformname"><a href="#intdp2reg_regsh">Integer Test and Compare (two register,
register shift)</a></td>
</tr>
</table>
</div><hr /><h2><a name="dpimm" id="dpimm"></a>Data-processing immediate</h2><div
class="decode_navigation">
<p>These instructions are under <a href="#dp">Data-processing and miscellaneous
instructions</a>.</p>
</div><div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td colspan="3" class="lr">001</td>
<td colspan="2" class="lr">op0</td>
<td colspan="1" class="lr"></td>
<td colspan="2" class="lr">op1</td>
<td colspan="20" class="lr"></td>
</tr>
</tbody>
</table>
</div><div class="instructiontable">
<table class="instructiontable">
<tr>
<th colspan="2">Decode fields</th>
<th rowspan="2"> Instruction details </th>
</tr>
<tr>
<th class="bitfields">op0</th>
<th class="bitfields">op1</th>
</tr>
<tr class="instructiontable">
<td class="bitfield"> 0x </td>
<td class="bitfield"> </td>
<td class="iformname"><a href="#intdp2reg_imm">Integer Data Processing (two register and
immediate)</a></td>
</tr>
</table>
</div><hr /><div class="iclass" id="intdp2reg_imm">
<a name="intdp2reg_imm" id="intdp2reg_imm"></a>
</div><div class="iclass" id="end">
<a name="ldstimm" id="ldstimm"></a>
<h3 class="iclass">Load/Store Word, Unsigned Byte (immediate, literal)</h3>
<div class="regdiagram-32">
<table class="regdiagram">
<thead>
<tr>
<td>31</td>
<td>0</td>
</tr>
</thead>
<tbody>
<tr class="firstrow">
<td colspan="4" class="lr">!= 1111</td>
<td class="l">0</td>
<td>1</td>
<td class="r">0</td>
<td class="lr">P</td>
<td class="lr">U</td>
<td class="lr">o2</td>
<td class="lr">W</td>
<td class="lr">o1</td>
<td colspan="4" class="lr">Rn</td>
<td colspan="4" class="lr">Rt</td>
<td colspan="12" class="lr">imm12</td>
</tr>
<tr class="secondrow">
<td colspan="4" class="droppedname">cond</td>
<td colspan="3"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="4"></td>
<td colspan="4"></td>
<td colspan="12"></td>
</tr>
</tbody>
</table>
</div>
<div class="decode_constraints">
<p> The following constraints also apply to this encoding: cond != 1111 && cond !=
1111 </p>
</div>
<div class="instructiontable">
<table class="instructiontable" id="ldstimm">
<thead class="instructiontable">
<tr>
<th class="bitfields-heading" rowspan="" colspan="4">Decode fields</th>
<th class="iformname" rowspan="2" colspan=""> Instruction Details </th>
</tr>
<tr>
<th class="bitfields" rowspan="" colspan="">P:W</th>
<th class="bitfields" rowspan="" colspan="">o2</th>
<th class="bitfields" rowspan="" colspan="">o1</th>
<th class="bitfields" rowspan="" colspan="">Rn</th>
</tr>
</thead>
<tbody>
<tr>
<td class="bitfield">!= 01</td>
<td class="bitfield">0</td>
<td class="bitfield">1</td>
<td class="bitfield">1111</td>
<td class="iformname"><a name="LDR_l" href="ldr_l.html" id="LDR_l">LDR
(literal)</a></td>
</tr>
<tr>
<td class="bitfield">!= 01</td>
<td class="bitfield">1</td>
<td class="bitfield">1</td>
<td class="bitfield">1111</td>
<td class="iformname"><a name="LDRB_l" href="ldrb_l.html" id="LDRB_l">LDRB
(literal)</a></td>
</tr>
</tbody>
</table>
</div>
</div></body>
</html>
Here's the output using the XPath given above:
<div class="decode_navigation">
<p>These instructions are under the top-level.</p>
</div>
Just to clarify, the output should include all of the divs in the sample HTML, about 400 lines in total.
I've also tried the XPath suggestions I've been given below, but they produced the same results.
Edit: Here's my code:
use strict;
use warnings;
use feature 'say';
use XML::LibXML;
my $encoding_index_file = q(C:\path\to\testfile.html);
my $source_doc = XML::LibXML->load_html(
location => $encoding_index_file,
recover => 1,
suppress_errors => 1,
);
my ($node) = $source_doc->findnodes('//h2[a[#id="start"]]/following-sibling::*[not(preceding-sibling::div[#id="end"])]');
say $node->toString;
Not only does that XPath conform to XPath 1.0, it works correctly in XML::LibXML.
use strict;
use warnings qw( all );
use feature qw( say );
use XML::LibXML qw( );
my $doc = XML::LibXML->new->parse_html_string(<<'__EOS__');
<html>
<h2><a id="start">Foo</a></h2>
<div id="pre1"><img></div>
<div id="pre2"><img></div>
<div id="end"><img></div>
<div id="post1"><img></div>
<div id="post2"><img></div>
</html>
__EOS__
# Select all the siblings of the starting h2 element that follow
# it and don't have <div id="end"/> as a preceding sibling.
for my $node ($doc->findnodes('//h2[a[#id="start"]]/following-sibling::*[not(preceding-sibling::*[self::div[#id="end"]])]')) {
my $name = $node->nodeName;
my $id = $node->getAttribute('id');
say $id ? sprintf("%s#%s", $name, $id) : $name;
}
Output:
div#pre1
div#pre2
div#end
By the way,
//h2[a[#id="start"]]/following-sibling::*[not(preceding-sibling::*[self::div[#id="end"]])]
is a weird way of writing
//h2[a[#id="start"]]/following-sibling::*[not(preceding-sibling::div[#id="end"])]
Maybe you wanted
//h2[a[#id="start"]]/following-sibling::*[not(self::div[#id="end"] or preceding-sibling::div[#id="end"])]
That would produce the following output:
div#pre1
div#pre2
I managed to get to the bottom of what was causing the problem: Every sibling found by the XPath is handled by LibXML as a separate node, so I needed to assign them to an array, not a simple scalar as I was doing. The not-weird XPath suggested by ikegami was also better than the one I was using, as mine was doubling up everything in the output.
Here's the code that produces the correct results:
use strict;
use warnings;
use feature 'say';
use XML::LibXML qw( );
my $encoding_index_file = q(C:\path\to\testfile.html);
my $source_doc = XML::LibXML->load_html(
location => $encoding_index_file,
recover => 1,
suppress_errors => 1,
);
my $contents = "";
my #nodes = $source_doc->findnodes('//h2[a[#id="start"]]/following-sibling::[not(preceding-sibling::div[#id="end"])]');
foreach my $node (#nodes) {
my ($str) = $node->toString;
$contents = $contents . $str;
}
print $contents;

Selenium IDE - Go back one page, if an error is returned

I was given a task to retrieve a rather large number of PDF files from the clunky front end system of a former contractor. One must enter the file name, search, revalidate the file five or six times, then download the file.
I have written a script to do this in a loop, and so far, it's gotten the job done. However, if the file isn't found, it spits you to a new page, where it displays an error. You must then go back one page, and resume.
My issue is that I can't quite find a way to tell Selenium IDE "if you see this error, go back one page and resume" or "if the page changes, go back one page and resume."
Is it possible for Selenium IDE to follow an If command like this?
I have downloaded and installed all of the relevant plugins.
My script is as follows:
<!--Begin loop-->
<tr>
<td>loadTestData</td>
<td>file://C:\[[the file path]]\test_data.xml</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>!testdata.EOF()</td>
<td></td>
</tr>
<tr>
<td>nextTestData</td>
<td></td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>bizcase_filename=${bizcase_filename}</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=srch</td>
<td>${bizcase_filename}</td>
</tr>
<!--Begin revalidation (5 times)-->
<tr>
<td>click</td>
<td>css=input.button</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>id=action</td>
<td>label=Revalidate</td>
</tr>
<tr>
<td>click</td>
<td>//input[#value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//input[#value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//input[#value='Run']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=pbStop</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>5000</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=td > img</td>
<td></td>
</tr>
<!--End revalidation, retrieve file-->
<tr>
<td>click</td>
<td>//td[5]/a</td>
<td></td>
</tr>
<!--End loop-->
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
Test_data.xml, where I store all the file names, looks like this:
<testdata>
<test bizcase_filename="filename 1" />
<test bizcase_filename="filename 2" />
<test bizcase_filename="filename 3" />
</testdata>
You can use build in function called storeElementPresent
For example:
storeElementPresent id="error" x
And now, object "error" is stored in variable x.
Then you can call it with gotoIf function available from goto_sel_ide extension.
Example:
gotoIf ${x}==true errorVisible
gotoIf ${x}==false errorNotVisible
label errorVisible
goto tryAgain //tryAgain is a label set in right place
label errorNotVisible
goto Continue
label Continue
I hope you get the point. You can also use "if" statement by javascript.
Example (not related to your code):
storeElementPresent id=gbqfbb x /
click javascript{if(storedVars['x'] == true){this.browserbot.findElement('id=gbqfbb').click();}}
Hope it helps!

Selenium IDE/Flow Control - gotoif condition

I'm new to gotoif condition in SeleniumIDE.
Trying to use it to test this scenario in the same test:
If page displays "test" icon, then click Launch and skip next step.
If page doesn't display "test" icon, then proceed to next step.
If You allways have pictire (but diffrent) in this place, You can get Xpath and get scr atribue of this picture:
<tr>
<td>storeAttribute</td>
<td>//body/div/img#src</td>
<td>urladress</td>
</tr>
<tr>
<td>gotoIf</td>
<td>'${urladress}'!= 'http://mypage.com/img/test.ico'</td>
<td>marker1</td>
</tr>
<tr>
<td>echo</td>
<td>Here commands for this picture</td>
<td></td>
</tr>
<tr>
<td>label</td>
<td>marker1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>'${urladress}'== 'http://mypage.com/img/test.ico'</td>
<td>marker2</td>
</tr>
<tr>
<td>echo</td>
<td>Here commands without this picture</td>
<td></td>
</tr>
<tr>
<td>label</td>
<td>marker2</td>
<td></td>
</tr>
If it do not work you can use javascript function:
<tr>
<td>storeBodyText</td>
<td>body</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>javascript{storedVars['body'].search('test.ico')}</td>
<td>result</td>
</tr>
<tr>
<td>gotoIf</td>
<td>${result}==-1</td>
<td>marker1</td>
</tr>
<tr>
<td>echo</td>
<td>Here commands for this picture</td>
<td></td>
</tr>
<tr>
<td>label</td>
<td>marker1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>${result}!=-1</td>
<td>marker2</td>
</tr>
<tr>
<td>echo</td>
<td>Here commands without this picture</td>
<td></td>
</tr>
<tr>
<td>label</td>
<td>marker2</td>
<td></td>
</tr>

How do I include a stored value in a css path with Selenium IDE?

For example:
<tr>
<td>storeEval</td>
<td>a_string</td>
<td>my_var</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>css=#some_id[some_value='<my_var>']</td>
<td></td>
</tr>
css=#some_id[some_value='${my_var}']