元素存在,但nightwatch.js没有看到元素

时间:2014-11-24 20:43:36

标签: selenium selenium-webdriver automated-tests nightwatch.js

所以我一直在尝试使用NW,并发现它是KISS(Keep It Stupid Simple)!我遇到了一个问题。

我是一名自由职业QA测试员,主要专注于手动测试,但我正在拓展自动化,以帮助加快工作中的任务。

我目前正在测试的网站有" 2"导航到它时的步骤。结构如下: 1:导航到URL 2:"订阅页面"显示包含用于输入电子邮件的框 3:输入电子邮件后,框会更改以让用户输入其邮政编码

当用户在电子邮件部分时,如果电子邮件在语法上没有效果,则会包含一个小X图标,如果有效,则包含复选标记 对于zipcode部分也是如此。

我在测试什么: 电子邮件和邮政编码的无效和有效图标都应显示。

我将测试分成两部分。 1用于测试电子邮件地址图标,1用于测试zip图标。 我已经完成了电子邮件地址测试并且运行良好,但是我的邮编地址一直没有用。

以下是我用于邮政编码的代码块。

跑步时,我看到了:

    ✔  Element <#two_step_div> was present after 985 milliseconds.
    ✔  Testing if the page title equals "WEBSITE TITLE HERE".
    ✔  Element <#postal_code> was present after 14 milliseconds.s
    ✖  Timed out while waiting for element <input[class="js-zip js-success"]> to be present for 10000 milliseconds.  - expected "visible" but got: not found


'This is checking valid zip icon is present': function (browser) {
    browser
        .url("WEBSITE_URL HERE")
        .waitForElementPresent("#two_step_div", 8000)
        .assert.title('WEBSITE TITLE HERE')
        .setValue('input[type=text]', ['test@example.com', browser.Keys.ENTER])
        .waitForElementPresent("#postal_code", 10000)
        .setValue('input[type=text]', '12345')
        .waitForElementVisible('input[class="js-zip js-success"]', 10000)
        .end();
    };

它似乎只是跳过.setValue线,因为它似乎甚至没有添加&#34; 12345&#34;我所指定的邮政编码。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

'This is checking valid zip icon is present': function (browser) {
    browser
        .url("WEBSITE_URL HERE")
        .waitForElementPresent("#two_step_div", 8000)
        .assert.title('WEBSITE TITLE HERE')
        .setValue('input[type=text]', ['test@example.com', browser.Keys.ENTER])
        .waitForElementPresent("#postal_code", 10000)
        .setValue('#postal_code', '12345')
        .waitForElementVisible('input[class="js-zip js-success"]', 10000)
        .end();
    };