So, do you still have problem to get back the value? Try to increase the
pause value to see
if it helps more. The bad thing is that it makes your tests slow.

Thanks,

Jian

On Fri, Sep 10, 2010 at 11:58 AM, Jade <[email protected]> wrote:

> Hi Jian,
>
> I did change my pause from 500 to 1000, and that helped some. The
> waitForCondition sometimes seems to take a very long time so I've been
> avoiding using it.
>
> Jade
>
> On Sep 9, 4:08 pm, Jian Fang <[email protected]> wrote:
> > Thanks for the details.
> >
> > The click did not work even for the latest snapshot from last night? That
> is
> > really wired.
> >
> > If you turn off the Engine, the getValue is called on Selenium APIs. I
> > wonder if your problem is caused by
> > the fact that you could not get back the correct value right away since
> it
> > takes some time
> > for the value to be changed after the click event. Have you ever tried to
> > add some delay such as
> >
> > pause(1000)
> >
> > in the command or try some waitForCondition() command?
> >
> > Thanks,
> >
> > Jian
> >
> > On Thu, Sep 9, 2010 at 4:53 PM, Jade <[email protected]> wrote:
> > > Hi Jian,
> >
> > > The previous error was due to the selenium engine not finding the html
> > > element. I changed the module definition to fix that problem.
> >
> > > I had to turn the tellurium engine off otherwise the test wouldn't
> > > modify the value since the click method didn't cause the UI to click
> > > on the item, thus it wasn't selected and these lines didn't do
> > > anything:
> >
> > > if (value.isEmpty()) {
> > >                                        module.type(inputUid, " ");
> > >                                } else {
> > >                                        module.type(inputUid, value);
> > >                                }
> >
> > > Here's my method to test changing values on clickable text fields:
> >
> > > public static void testEditingClickableField(final String textUid,
> > > final String inputUid, final String value,
> > >        final DslContext module, final boolean isValid) {
> >
> > >                log.info "testEditingClickableField ${textUid}"
> > >                // If not disabled, value won't change b/c element won't
> be
> > > clicked.
> > >                module.disableTelluriumEngine()
> >
> > >                String originalText = module.getText(textUid);  //
> getValue
> > > is only
> > > valid if value= is viewable in the html
> > >                // such as <input
> > > id="aspect_vireo_admin_View_field_firstName"
> > > class="ds-text-field firstName editable" name="firstName" type="text"
> > > value="New First Name" />
> > >                // in the code, the value is often not set.
> >
> > >                if (!originalText.equals(value)) {
> >
> > >                        // If the value is blank, then Vireo sometimes
> > > displays none.
> > >                        final String NONE = "none"
> >
> > >                        boolean successful = false;
> > >                        int maxTries = 5;
> > >                        int tries = 0;
> >
> > >                        String currentTextValue
> > >                        String currentInputTextValue
> >
> > >                        // Due to ajax timing issues, try more than once
> to
> > > perform this
> > > action.
> > >                        while (!successful && tries++ < maxTries) {
> > >                                // click on the textUid to trigger the
> ajax
> > > / javascript to allow
> > > the value to be changed.
> > >                                clickFakeItem(textUid, inputUid, module,
> > > true)
> >
> > >                                if (value.isEmpty()) {
> > >                                        module.type(inputUid, " ");
> > >                                } else {
> > >                                        module.type(inputUid, value);
> > >                                }
> >
> > >  module.pause(VireoTestConfig.getPauseTime());
> > >                                currentTextValue =
> module.getText(textUid)
> > >                                //clickFakeItem(textUid, inputUid,
> module,
> > > true)
> > >                                module.mouseOut textUid
> >
> > >                                log.info "try ${tries}:
> > > testEditingClickableField
> > > currentTextValue: ${currentTextValue} newValue: ${value} origText: $
> > > {originalText}"
> >
> > >                                if (isValid) {
> > >                                        if ((value.isEmpty() &&
> > > currentTextValue.equals(NONE)) ||
> > > currentTextValue.equals(value)) {
> > >                                                successful = true
> > >                                        }
> > >                                } else {
> > >                                        if
> > > (currentTextValue.equals(originalText)) {
> > >                                                successful = true
> > >                                        }
> > >                                }
> > >                        }
> >
> > >                        if (isValid) {
> >
> > >                                if ((value.isEmpty() &&
> > > (!(currentTextValue.equals(NONE) ||
> > > currentTextValue.isEmpty()))) ||
> > >                                (!value.isEmpty() &&
> > > !currentTextValue.equals(value))) {
> > >                                        log.error("${textUid} wasn't
> updated
> > > to ${value} or ${NONE}. Its
> > > current text is ${currentTextValue}")
> > >                                }
> > >                        } else {
> > >                                if
> (!originalText.equals(currentTextValue))
> > > {
> > >                                        log.error("${textUid} shouldn't
> have
> > > been updated to ${value} or $
> > > {NONE}. originalValue: ${originalText}, currentText: $
> > > {currentTextValue}")
> > >                                }
> > >                        }
> > >                }
> > >                module.enableTelluriumEngine()
> > >        }
> >
> > > and my module def:
> >
> > > String postAction = "\"${VireoTestConfig.getWebApp()}/vireo/admin/
> > > detail?update=true\""
> >
> > >        public void defineModule() {
> >
> > >                ui.Form(uid: "DegreeInformationForm", clocator: [tag:
> > > "form",
> > > method: "post", action: "${postAction}", class: "ds-interactive-div
> > > view-form", id: "aspect_vireo_admin_View_div_view-form"]) {
> >
> > >                        TextBox(uid: "committee_member_2", clocator:
> [tag:
> > > "span", class:
> > > "group-committee-", id: "aspect_vireo_admin_View_field_committee-
> > > member-2"], respond: ["click"])
> > >                        TextBox(uid: "committee_member_1", clocator:
> [tag:
> > > "span", class:
> > > "group-committee-", id: "aspect_vireo_admin_View_field_committee-
> > > member-1"], respond: ["click"])
> > >                        TextBox(uid: "school", clocator: [tag: "span",
> id:
> > > "aspect_vireo_admin_View_field_school", type: "text"], respond:
> > > ["click"])
> >
> > >                        Selector(uid: "degree", clocator: [id:
> > > "aspect_vireo_admin_View_field_degree"], respond: ["click"])
> >
> > >                        TextBox(uid: "committee_email", clocator: [tag:
> > > "span", class:
> > > "committee-email", id: "aspect_vireo_admin_View_field_committee-
> > > email"], respond: ["click"])
> >
> > >                        TextBox(uid: "department", clocator: [tag:
> "span",
> > > id:
> > > "aspect_vireo_admin_View_field_department", type: "text"], respond:
> > > ["click"])
> >
> > >                        Selector(uid: "college", clocator: [id:
> > > "aspect_vireo_admin_View_field_college"], respond: ["click"])
> > >                        Selector(uid: "degreeLevel", clocator: [id:
> > > "aspect_vireo_admin_View_field_degreeLevel"], respond: ["click"])
> >
> > >                        TextBox(uid: "committee_member_3", clocator:
> [tag:
> > > "span", class:
> > > "group-committee-", id: "aspect_vireo_admin_View_field_committee-
> > > member-3", type: "text"], respond: ["click"])
> > >                        TextBox(uid: "discipline", clocator: [tag:
> "span",
> > > id:
> > > "aspect_vireo_admin_View_field_discipline", type: "text"], respond:
> > > ["click"])
> > >                        TextBox(uid: "semester", clocator: [tag: "span",
> id:
> > > "aspect_vireo_admin_View_field_semester", type: "text"], respond:
> > > ["click"])
> > >                }
> >
> > >                //Since ajax changes the html when a list is clicked,
> this
> > > module is
> > > required to represent clickable lists once they've been clicked.
> > >                //  For more information, see:
> >
> > >http://groups.google.com/group/tellurium-users/browse_thread/thread/9.
> ..
> > >                //
> > >                ui.Form(uid: "DegreeInformationClickedForm", clocator:
> [tag:
> > > "form",
> > > method: "post", action: "${postAction}", class: "ds-interactive-div
> > > view-form", id: "aspect_vireo_admin_View_div_view-form"]) {
> >
> > >                        Selector(uid: "degreeSelector", clocator: [id:
> > > "aspect_vireo_admin_View_field_degree"], respond: ["click"])
> > >                        Selector(uid: "collegeSelector", clocator: [id:
> > > "aspect_vireo_admin_View_field_college"], respond: ["click"])
> > >                        Selector(uid: "degreeLevelSelector", clocator:
> [id:
> > > "aspect_vireo_admin_View_field_degreeLevel"], respond: ["click"])
> >
> > >                        InputBox(uid: "committee_emailClicked",
> clocator:
> > > [tag: "input",
> > > id: "aspect_vireo_admin_View_field_committee-email", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "committee_member_2Clicked",
> clocator:
> > > [tag: "input",
> > > id: "aspect_vireo_admin_View_field_committee-member-2", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "committee_member_1Clicked",
> clocator:
> > > [tag: "input",
> > > id: "aspect_vireo_admin_View_field_committee-member-1", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "committee_member_3Clicked",
> clocator:
> > > [tag: "input",
> > > id: "aspect_vireo_admin_View_field_committee-member-3", type: "text"],
> > > respond: ["click"])
> >
> > >                        InputBox(uid: "schoolClicked", clocator: [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_school", type: "text"], respond:
> > > ["click"])
> > >                        InputBox(uid: "disciplineClicked", clocator:
> [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_discipline", type: "text"], respond:
> > > ["click"])
> > >                        InputBox(uid: "semesterClicked", clocator: [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_semester", type: "text"], respond:
> > > ["click"])
> > >                        InputBox(uid: "departmentClicked", clocator:
> [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_department", type: "text"], respond:
> > > ["click"])
> > >                }
> >
> > > and my data input file:
> >
> > > verifyModule|1
> >
> > > ## Format of test data for edit_ tests where textboxes are edited.
> > > ## testName | dataField |submissionId | name | is valid data?
> > > edit_committee_email|1||true
> > > edit_committee_email|1|new value|true
> > > edit_committee_email|1|9|true
> >
> > ...
> >
> > read more ยป
>
> --
> You received this message because you are subscribed to the Google Groups
> "tellurium-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<tellurium-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/tellurium-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to