Selenium 元素存在,但nightwatch.js没有看到元素
所以我一直在用NW做实验,发现它就是KISS(保持简单)!不过我遇到了一个问题 我是一名自由职业的QA测试人员,主要专注于手动测试,但我正在扩展到自动化,以帮助加快工作中的任务 我当前测试的站点在导航到它时有“2”个步骤。结构如下: 1:导航到URL 2:“订阅页面”显示,其中包含一个输入电子邮件的框 3:输入电子邮件后,框将更改为让用户输入其zipcode 当用户在电子邮件部分时,如果电子邮件在语法上无效,它将包含一个小X图标,如果它有效,它将包含一个复选标记 zipcode部分也是如此 我在测试什么: 电子邮件和邮政编码的无效和有效图标都会在应该显示的时候显示 我把考试分为两部分。1个用于测试电子邮件地址图标,1个用于测试zip图标。 我已经编写了电子邮件地址测试,它们运行得很好,但是zip地址对我来说总是失败 这是我用来表示邮政编码的一段代码 跑步时,我看到: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部分也是如此 我在
✔ 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();
};