This content has been marked as final.
Show 2 replies
-
1. Re: Jsunit Beta 3 : how to test selectOneMenu ?
ssilvert Dec 11, 2008 5:05 PM (in response to jadtn)For JSF tags like <h:selectOneMenu> and <h:selectManyListbox> that generate select tags in HTML, you will sometimes need to use the HtmlUnit API. For example, I have some markup like this:
<h:selectManyListbox id="WeekdaysUsingItemList"> <f:selectItems id="WeekdayItems" value="#{weekdaylist}"/> </h:selectManyListbox>
It creates HTML like this:<select id="form1:WeekdaysUsingItemList" size="0" multiple="multiple" name="form1:WeekdaysUsingItemList"> <option value="Monday">Monday</option> <option value="Wednesday">Wednesday</option> <option value="Friday">Friday</option> <option value="Tuesday">Tuesday</option> <option value="Thursday">Thursday</option> </select>
I can select/deselect the items with the HtmlUnit API like this:JSFSession jsfSession = new JSFSession("/index.faces"); JSFClientSession client = jsfSession.getJSFClientSession(); HtmlSelect select = (HtmlSelect)client.getElement("WeekdaysUsingItemList"); select.getOptionByValue("Monday").setSelected(true); select.getOptionByValue("Tuesday").setSelected(false); select.getOptionByValue("Wednesday").setSelected(true); select.getOptionByValue("Thursday").setSelected(true); select.getOptionByValue("Friday").setSelected(false);
If you are using <f:selectItem> instead of <f:selectItems> like this you can set an id for each item and make things a bit easier:<h:selectManyListbox id="Weekdays"> <f:selectItem id="selectMonday" itemValue="Monday"/> <f:selectItem id="selectTuesday" itemValue="Tuesday"/> <f:selectItem id="selectWednesday" itemValue="Wednesday"/> <f:selectItem id="selectThursday" itemValue="Thursday"/> <f:selectItem id="selectFriday" itemValue="Friday"/> <f:selectItem id="selectSaturday" itemValue="Saturday"/> </h:selectManyListbox>
JSFSession jsfSession = new JSFSession("/index.faces"); JSFClientSession client = jsfSession.getJSFClientSession(); client.click("selectMonday"); client.click("selectWednesday"); client.click("selectFriday");
Stan -
2. Re: Jsunit Beta 3 : how to test selectOneMenu ?
jadtn Dec 12, 2008 6:58 AM (in response to jadtn)Thanks Stan, its woks fine!