Selenium webdriver 如何在selenium webdriver mocha测试中访问文本输入值
需要帮助测试用户与mocha selenium webdriver的交互。不知道从哪里找到获取文本输入值的正确方法。尝试了getAttribute()、getText等的各种变体。得到了相同的错误:Selenium webdriver 如何在selenium webdriver mocha测试中访问文本输入值,selenium-webdriver,mocha.js,Selenium Webdriver,Mocha.js,需要帮助测试用户与mocha selenium webdriver的交互。不知道从哪里找到获取文本输入值的正确方法。尝试了getAttribute()、getText等的各种变体。得到了相同的错误: TypeError: Object [object object] has no method 'getElementText' 这是我的密码: var assert = require('assert'), fs = require('fs'); var webdriver = req
TypeError: Object [object object] has no method 'getElementText'
这是我的密码:
var assert = require('assert'),
fs = require('fs');
var webdriver = require('../node_modules/selenium-webdriver'),
test = require('../node_modules/selenium-webdriver/testing'),
remote = require('../node_modules/selenium-webdriver/remote');
test.describe('Google Search', function() {
var driver;
this.timeout(60000);
test.before(function() {
driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
});
test.it('should append query to title', function() {
//setTimeout(done, 60000);
driver.get('http://localhost:8080/devanagariTextField/index.html');
driver.findElement(webdriver.By.id('textbox')).sendKeys('gaa');
//driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getElementText('value').then(function(text) {
console.log('TEXT: ' + text)
return 'गा' === text;
});
}, 1000);
});
//test.after(function() { driver.quit(); });
});
您需要对元素而不是驱动程序对象执行getText/getAttribute调用
var myTextBox = driver.findElement(webdriver.By.id('textbox'));
myTextBox.sendKeys('gaa');
//You will probably want to use getAttribute()
var elementContent = myTextBox.getText();
var elementValue = myTextBox.getAttribute("value");
这就是最终对我起作用的原因。我需要在调用
sendKeys()
之后使用.then()
函数,然后在该点返回value属性。Steve的回答很有帮助,但我是通过在GitHub上创建一个名为
作为一个面向对象的人,这种语法对我来说似乎很疯狂,所以我很高兴你让它工作起来了!感谢您的投票,很高兴帮助
getAttribute(“value”)
您真的是这样做的吗?!那没有任何意义。input
元素的value
属性与其value
属性之间有很大的差异。Selenium是否做了jQuery所做的可怕的事情并将它们混为一谈?
describe('textbox value', function (done) {
it('is expected to equal ka when keys ka are sent', function (done) {
driver.findElement(webdriver.By.id("textbox"))
.sendKeys("ka")
.then(function(){
return driver.findElement(webdriver.By.id("textbox")).getAttribute("value");
})
.then(function (value) {
expect(value).to.equal('ka');
done();
});
});
});