Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 元素存在,但nightwatch.js没有看到元素_Selenium_Selenium Webdriver_Automated Tests_Nightwatch.js - Fatal编程技术网

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

Selenium 元素存在,但nightwatch.js没有看到元素,selenium,selenium-webdriver,automated-tests,nightwatch.js,Selenium,Selenium Webdriver,Automated Tests,Nightwatch.js,所以我一直在用NW做实验,发现它就是KISS(保持简单)!不过我遇到了一个问题 我是一名自由职业的QA测试人员,主要专注于手动测试,但我正在扩展到自动化,以帮助加快工作中的任务 我当前测试的站点在导航到它时有“2”个步骤。结构如下: 1:导航到URL 2:“订阅页面”显示,其中包含一个输入电子邮件的框 3:输入电子邮件后,框将更改为让用户输入其zipcode 当用户在电子邮件部分时,如果电子邮件在语法上无效,它将包含一个小X图标,如果它有效,它将包含一个复选标记 zipcode部分也是如此 我在

所以我一直在用NW做实验,发现它就是KISS(保持简单)!不过我遇到了一个问题

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

我当前测试的站点在导航到它时有“2”个步骤。结构如下: 1:导航到URL 2:“订阅页面”显示,其中包含一个输入电子邮件的框 3:输入电子邮件后,框将更改为让用户输入其zipcode

当用户在电子邮件部分时,如果电子邮件在语法上无效,它将包含一个小X图标,如果它有效,它将包含一个复选标记 zipcode部分也是如此

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

我把考试分为两部分。1个用于测试电子邮件地址图标,1个用于测试zip图标。 我已经编写了电子邮件地址测试,它们运行得很好,但是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();
    };
✔  元素在985毫秒后出现。
✔  测试页面标题是否等于“此处的网站标题”。
✔  元素在14毫秒后出现。s
✖  等待元素出现10000毫秒时超时。-应为“可见”,但得到:未找到
“这是检查是否存在有效的zip图标”:函数(浏览器){
浏览器
.url(“此处的网站url”)
.waitForElementPresent(“两步走”,8000)
.assert.title(“此处的网站标题”)
.setValue('input[type=text],['test@example.com,browser.Keys.ENTER])
.waitForElementPresent(“邮政编码”,10000)
.setValue('input[type=text],'12345')
.waitForElementVisible('input[class=“js zip js success”]”,10000)
.end();
};
它似乎只是跳过了.setValue行,因为它甚至没有添加我指定的“12345”zipcode


有什么想法吗?

你在使用哪种浏览器?Mac OS X(10.9.5)上的Chrome我不熟悉那个api。但是你知道有没有办法在文本字段中传递
clear
?给你。添加这个
client.clearValue('input[type=text]')
就在“.setValue('input[type=text],'12345')之前,`Yes可以使用.clearValue()进行清除。您是否建议.waitForElementPresent触发,然后运行clearValue,然后设置值?
'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();
    };