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].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to